From 8efeff9280e893fed6418a9e0be9567a882ca909 Mon Sep 17 00:00:00 2001 From: Nye Liu Date: Sun, 27 Oct 2024 22:00:02 -0700 Subject: [PATCH] Issue #12: CI: add macos, add release workflow --- .github/workflows/debian-build.yml | 35 ---------------------- .github/workflows/unix-build.yml | 46 +++++++++++++++++++++++++++++ .github/workflows/windows-build.yml | 22 ++++++++++---- 3 files changed, 62 insertions(+), 41 deletions(-) delete mode 100644 .github/workflows/debian-build.yml create mode 100644 .github/workflows/unix-build.yml diff --git a/.github/workflows/debian-build.yml b/.github/workflows/debian-build.yml deleted file mode 100644 index 9f909b8..0000000 --- a/.github/workflows/debian-build.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Debian Build - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - name: install libgmp-dev - run: | - sudo apt-get update - sudo apt-get install -y libgmp-dev - - uses: actions/checkout@v4 - - name: make - run: make - - name: make test - run: make test - - uses: rlespinasse/github-slug-action@v4 - if: ${{ github.event_name != 'release' }} - with: - short-length: 6 - - uses: actions/upload-artifact@v4 - if: ${{ github.event_name != 'release' }} - with: - name: me7sum-${{ env.GITHUB_SHA_SHORT }}-debian - path: | - me7sum - ME7Check_linux - README.md diff --git a/.github/workflows/unix-build.yml b/.github/workflows/unix-build.yml new file mode 100644 index 0000000..8675f8b --- /dev/null +++ b/.github/workflows/unix-build.yml @@ -0,0 +1,46 @@ +name: Unix Build + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + release: + types: [ published ] + +env: + artifacts: | + me7sum + ME7Check_linux + README.md + +jobs: + build: + strategy: + matrix: + os: [ 'ubuntu', 'macos'] + runs-on: ${{ matrix.os }}-latest + steps: + - uses: actions/checkout@v4 + - name: make + run: make + - name: make test + run: make test + - uses: rlespinasse/github-slug-action@v4 + if: ${{ github.event_name != 'release' }} + with: + short-length: 6 + - uses: actions/upload-artifact@v4 + if: ${{ github.event_name != 'release' }} + with: + name: me7sum-${{ env.GITHUB_SHA_SHORT }}-${{ matrix.os }} + path: ${{ env.artifacts }} + - name: Upload ${{ matrix.os }} artifact to release + if: github.event_name == 'release' && github.event.action == 'published' + run: | + ARTIFACTS="${artifacts//$'\n'/ }" + echo "Zipping ${ARTIFACTS}" + zip -qr me7sum-${{ github.ref_name }}-${{ matrix.os }}.zip ${ARTIFACTS} + gh release upload --clobber ${{ github.ref_name }} me7sum-${{ github.ref_name }}-${{ matrix.os }}.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index 0992261..1a12537 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -5,12 +5,18 @@ on: branches: [ master ] pull_request: branches: [ master ] + release: + types: [ published ] + +env: + artifacts: > + me7sum.exe + ME7Check.exe + README.md jobs: build: - runs-on: windows-latest - steps: - uses: actions/checkout@v4 - uses: TheMrMilchmann/setup-msvc-dev@v3 @@ -26,7 +32,11 @@ jobs: if: ${{ github.event_name != 'release' }} with: name: me7sum-${{ env.GITHUB_SHA_SHORT }}-win - path: | - me7sum.exe - ME7Check.exe - README.md + path: ${{ env.artifacts }} + - name: Upload windows artifact to release + if: github.event_name == 'release' && github.event.action == 'published' + run: | + 7z a -tzip me7sum-${{ github.ref_name }}-win.zip ${{ env.artifacts }} + gh release upload --clobber ${{ github.ref_name }} me7sum-${{ github.ref_name }}-win.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}