guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/02: Update github actions


From: Mike Gran
Subject: [Guile-commits] 01/02: Update github actions
Date: Fri, 2 Jun 2023 01:12:48 -0400 (EDT)

mike121 pushed a commit to branch main-patches
in repository guile.

commit 1b44cbdf2206056ef43f1e85f8644dbd4832b043
Author: Michael Gran <spk121@yahoo.com>
AuthorDate: Thu Jun 1 18:21:02 2023 -0700

    Update github actions
---
 .github/workflows/nightly_rebase.yml | 53 ++++++++++++++++++++
 .github/workflows/ubuntu.yml         | 60 +++++++++++++++++++++++
 .github/workflows/windows-cygwin.yml | 78 +++++++++++++++++++++++++++++
 .github/workflows/windows-mingw.yml  | 88 +++++++++++++++++++++++++++++++++
 .github/workflows/windows-native.yml | 95 ++++++++++++++++++++++++++++++++++++
 5 files changed, 374 insertions(+)

diff --git a/.github/workflows/nightly_rebase.yml 
b/.github/workflows/nightly_rebase.yml
new file mode 100644
index 000000000..529c051c6
--- /dev/null
+++ b/.github/workflows/nightly_rebase.yml
@@ -0,0 +1,53 @@
+
+name: Nightly Rebase
+
+on:
+  # 12:10 PDT
+  schedule:
+    - cron: "10 19 * * *"
+  # Allow manual triggering
+  workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+  contents: write
+  pages: write
+  id-token: write
+
+# Allow only one concurrent deployment, skipping runs queued between the run 
in-progress and latest queued.
+# Allow cancellation of in-progress runs.
+concurrency:
+  group: "nightly"
+  cancel-in-progress: true
+
+jobs:
+  fetch:
+    runs-on: ubuntu-latest
+
+    steps:
+    - name: Checkout
+      uses: actions/checkout@v3
+    - name: env
+      run: export LANG=C.UTF-8 TERM=dumb VERBOSE=true 
DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles
+    - name: Hard reset main branch to upstream
+      run: |
+        set -x
+        #git config user.name "GitHub Actions Bot"
+        #git config user.email "<>"
+        git config user.name "${GITHUB_ACTOR}"
+        git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
+        git remote add upstream https://git.savannah.gnu.org/git/guile.git
+        git fetch upstream main
+        git remote -v
+        git checkout -B main
+        git config pull.rebase true
+        git reset --hard upstream/main || exit 1
+        git push --force origin main || exit 1
+      shell: bash {0}
+    - name: Rebase main-patches branch
+      run: |
+        git checkout main-patches
+        if ! (git rebase main) then
+          git rebase --abort
+          exit 1
+        fi
diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml
new file mode 100644
index 000000000..2407df049
--- /dev/null
+++ b/.github/workflows/ubuntu.yml
@@ -0,0 +1,60 @@
+name: Ubuntu 20.04 and 22.04
+
+on:
+  # 13:20 PDT
+  schedule:
+    - cron: "20 20 * * *"
+  # Allow manual triggering
+  workflow_dispatch:
+
+jobs:
+  build:
+    name: Build
+    strategy:
+      matrix:
+        os: [ubuntu-22.04, ubuntu-20.04]
+
+    runs-on: ${{ matrix.os }}
+
+    steps:
+    - uses: actions/checkout@v3
+    - name: env
+      run: export LANG=C.UTF-8 TERM=dumb VERBOSE=true 
DEBIAN_FRONTEND=noninteractive TZ=America/Los_Angeles
+    - name: install packages
+      run: sudo apt-get install -y texlive autoconf libtool gettext autopoint 
gperf pkg-config lzip libgc-dev libgmp-dev libltdl-dev libncurses5-dev 
libreadline6-dev libunistring-dev
+    - name: make dist directory
+      run: mkdir `pwd`/dist
+    - name: bootstrap with autogen.sh
+      run: ./autogen.sh
+    - name: configure
+      run: ./configure CFLAGS="-g -O2 -Wall" --prefix=`pwd`/dist
+    - name: make
+      run: make
+    - name: make check
+      run: |
+        make check
+        if [ -f check-guile.log ]; then
+          cat check-guile.log
+        fi
+      shell: bash {0}
+    - name: make install
+      run: make install
+    - name: make dist
+      run: make dist
+    - name: Archive production artifacts
+      uses: actions/upload-artifact@v3
+      with:
+        name: dist
+        path: dist
+    - name: Uncompress tarballs
+      run: gunzip *.tar.gz
+    - name: Archive tarball
+      uses: actions/upload-artifact@v3
+      with:
+        name: tarball
+        path: guile*tar
+    - name: Archive test logs
+      uses: actions/upload-artifact@v3
+      with:
+        name: logs
+        path: check-guile.log
diff --git a/.github/workflows/windows-cygwin.yml 
b/.github/workflows/windows-cygwin.yml
new file mode 100644
index 000000000..ae708d537
--- /dev/null
+++ b/.github/workflows/windows-cygwin.yml
@@ -0,0 +1,78 @@
+name: Windows Cygwin
+
+on:
+  # 13:20 PDT
+  schedule:
+    - cron: "20 20 * * *"
+  # Allow manual triggering
+  workflow_dispatch:
+
+jobs:
+  build:
+    runs-on: windows-latest
+    name: Build
+
+    steps:
+    - run: git config --global core.autocrlf input
+    - uses: actions/checkout@v3
+      with:
+        fetch-depth: 2
+    - name: Install cygwin
+      uses: cygwin/cygwin-install-action@master
+      with:
+        packages: >-
+          autoconf automake make libtool flex gperf
+          gcc-core
+          lzip xz
+          gettext-devel libffi-devel libgc-devel
+          libgmp-devel libreadline-devel libunistring-devel
+          libiconv-devel
+    - name: Bootstrap Guile
+      run: |
+          pwd
+          export LANG=C.UTF-8 TERM=dumb VERBOSE=true TZ=America/Los_Angeles
+          mkdir `pwd`/dist
+          ./autogen.sh
+      shell: C:\cygwin\bin\bash.exe -o igncr '{0}'
+    - name: Configure
+      run: ./configure CFLAGS="-g -O2 -Wall" --enable-jit=no --disable-lto 
--prefix=`pwd`/dist
+      shell: C:\cygwin\bin\bash.exe -o igncr '{0}'
+    - name: Make
+      run: make V=1
+      shell: C:\cygwin\bin\bash.exe -o igncr '{0}'
+    - name: Upload broken build products
+      if: ${{ failure () }}
+      uses: actions/upload-artifact@v3
+      with:
+        name: Broken build products
+        path: .
+
+    - name: Run tests
+      run: make check V=1
+      shell: C:\cygwin\bin\bash.exe -o igncr '{0}'
+    - name: Archive test logs
+      if: ${{ success() || failure() }}
+      uses: actions/upload-artifact@v3
+      with:
+        name: Test logs
+        path: check-guile.log
+
+    - name: Install to folder
+      run: make install V=1
+      shell: C:\cygwin\bin\bash.exe -o igncr '{0}'
+    - name: Archive installed files
+      uses: actions/upload-artifact@v3
+      with:
+        name: Installed files
+        path: dist
+
+    - name: Make source tarball
+      run: |
+        make dist
+        gunzip *.tar.gz
+      shell: C:\cygwin\bin\bash.exe -o igncr '{0}'
+    - name: Archive source tarball
+      uses: actions/upload-artifact@v3
+      with:
+        name: Source tarball
+        path: guile*tar
diff --git a/.github/workflows/windows-mingw.yml 
b/.github/workflows/windows-mingw.yml
new file mode 100644
index 000000000..b126daee9
--- /dev/null
+++ b/.github/workflows/windows-mingw.yml
@@ -0,0 +1,88 @@
+name: Windows MinGW
+
+on:
+  # 12:20 PDT
+  schedule:
+    - cron: "20 19 * * *"
+  # Allow manual triggering
+  workflow_dispatch:
+
+jobs:
+  build:
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - { sys: MINGW64, env: x86_64, threads: --without-threads, jit: 
--enable-jit=no, gmp: --enable-mini-gmp }
+          - { sys: MINGW32, env: i686, threads: --without-threads, jit: 
--enable-jit=no, gmp: --enable-mini-gmp }
+          - { sys: UCRT64,  env: ucrt-x86_64, threads: --without-threads, jit: 
--enable-jit=no, gmp: --enable-mini-gmp }
+          - { sys: CLANG64, env: clang-x86_64, threads: --without-threads, 
jit: --enable-jit=no, gmp: --enable-mini-gmp }
+
+    runs-on: windows-latest
+    name: Build ${{matrix.sys}} ${{matrix.env}}
+
+    defaults:
+      run:
+        shell: msys2 {0}
+
+    steps:
+      - uses: msys2/setup-msys2@v2
+        with:
+          msystem: ${{matrix.sys}}
+          install: >-
+            base-devel
+            git
+            gperf
+            autotools
+            lzip
+            mingw-w64-${{matrix.env}}-toolchain
+            mingw-w64-${{matrix.env}}-gc
+            mingw-w64-${{matrix.env}}-libtool
+            mingw-w64-${{matrix.env}}-libunistring
+      - name: Set git CRLF behavior to Linux
+        run: git config --global core.autocrlf input
+      - uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+      - name: env
+        run: export LANG=C.UTF-8 TERM=dumb VERBOSE=true TZ=America/Los_Angeles
+      - name: make dist directory
+        run: mkdir `pwd`/dist
+      - name: check tools version
+        run: |
+          echo "CC=$CC"
+          echo "LD=$LD"
+          echo "MAKE=$MAKE"
+      - name: bootstrap with autogen.sh
+        run: ./autogen.sh
+      - name: configure
+        run: ./configure CFLAGS="-g -O2 -Wall" ${{matrix.threads}} 
${{matrix.jit}} ${{matrix.gmp}} --prefix=`pwd`/dist
+      - name: make
+        run: make
+      - name: make check
+        run: |
+          make check
+          if [ -f check-guile.log ]; then
+            cat check-guile.log
+          fi
+      - name: make install
+        run: make install
+      - name: make dist
+        run: make dist
+      - name: Archive production artifacts
+        uses: actions/upload-artifact@v3
+        with:
+          name: dist-${{matrix.sys}}-${{matrix.env}}
+          path: dist
+      - name: Uncompress tarballs
+        run: gunzip *.tar.gz
+      - name: Archive tarball
+        uses: actions/upload-artifact@v3
+        with:
+          name: tarball-${{matrix.sys}}-${{matrix.env}}
+          path: guile*tar
+      - name: Archive test logs
+        uses: actions/upload-artifact@v3
+        with:
+          name: logs-${{matrix.sys}}-${{matrix.env}}
+          path: check-guile.log
diff --git a/.github/workflows/windows-native.yml 
b/.github/workflows/windows-native.yml
new file mode 100644
index 000000000..be772f809
--- /dev/null
+++ b/.github/workflows/windows-native.yml
@@ -0,0 +1,95 @@
+name: Windows Native w/ Msys2 Shell
+
+on:
+  workflow_dispatch:
+
+jobs:
+  build:
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+          - { sys: UCRT64,  env: ucrt-x86_64, threads: --without-threads, jit: 
--enable-jit=no, gmp: --enable-mini-gmp }
+
+    runs-on: windows-latest
+    name: Build Native with ${{matrix.sys}} ${{matrix.env}}
+
+    defaults:
+      run:
+        shell: msys2 {0}
+
+    steps:
+      - name: Set up msvc
+        uses: ilammy/msvc-dev-cmd@v1
+      - uses: msys2/setup-msys2@v2
+        with:
+          msystem: ${{matrix.sys}}
+          install: >-
+            base-devel
+            git
+            gperf
+            autotools
+            lzip
+            mingw-w64-${{matrix.env}}-toolchain
+            mingw-w64-${{matrix.env}}-gc
+            mingw-w64-${{matrix.env}}-libtool
+            mingw-w64-${{matrix.env}}-libunistring
+      - name: Set git CRLF behavior to Linux
+        run: git config --global core.autocrlf input
+      - uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+      - name: env
+        run: export LANG=C.UTF-8 TERM=dumb VERBOSE=true TZ=America/Los_Angeles
+        shell: msys2 {0}
+      - name: make dist directory
+        run: mkdir `pwd`/dist
+        shell: msys2 {0}
+      - name: check tools version
+        run: |
+          CC=cl
+          LD=link
+          echo "CC=$CC"
+          echo "LD=$LD"
+          echo "MAKE=$MAKE"
+        shell: msys2 {0}
+      - name: bootstrap with autogen.sh
+        run: ./autogen.sh
+        shell: msys2 {0}
+      - name: configure
+        run: ./configure CC=cl LD=link CFLAGS="-g -O2 -Wall" 
${{matrix.threads}} ${{matrix.jit}} ${{matrix.gmp}} --prefix=`pwd`/dist
+        shell: msys2 {0}
+      - name: make
+        run: make
+        shell: msys2 {0}
+      - name: make check
+        run: |
+          make check
+          if [ -f check-guile.log ]; then
+            cat check-guile.log
+          fi
+        shell: msys2 {0}
+      - name: make install
+        run: make install
+        shell: msys2 {0}
+      - name: make dist
+        run: make dist
+        shell: msys2 {0}
+      - name: Archive production artifacts
+        uses: actions/upload-artifact@v3
+        with:
+          name: dist-${{matrix.sys}}-${{matrix.env}}
+          path: dist
+      - name: Uncompress tarballs
+        run: gunzip *.tar.gz
+        shell: msys2 {0}
+      - name: Archive tarball
+        uses: actions/upload-artifact@v3
+        with:
+          name: tarball-${{matrix.sys}}-${{matrix.env}}
+          path: guile*tar
+      - name: Archive test logs
+        uses: actions/upload-artifact@v3
+        with:
+          name: logs-${{matrix.sys}}-${{matrix.env}}
+          path: check-guile.log



reply via email to

[Prev in Thread] Current Thread [Next in Thread]