From 254a08ec19875564cc8149b2713e2e6f34844330 Mon Sep 17 00:00:00 2001 From: LKedward Date: Wed, 18 Nov 2020 15:44:19 +0000 Subject: Move release workflow into existing CI to reuse build/test workflow --- .github/workflows/CI.yml | 50 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) (limited to '.github/workflows/CI.yml') diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 03fcf84..22aa6e5 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,6 +1,6 @@ name: CI -on: [push, pull_request] +on: [push, pull_request, release] env: CI: "ON" # We can detect this in the build system and other vendors implement it @@ -23,16 +23,22 @@ jobs: - os: ubuntu-latest STACK_CACHE: "/home/runner/.stack/" STACK_CACHE_VERSION: "" + BOOTSTRAP_FILE: "/home/runner/.local/bin/fpm" + XSUFFIX: "" - os: macos-latest STACK_CACHE: | /Users/runner/.stack/snapshots /Users/runner/.stack/setup-exe-src STACK_CACHE_VERSION: "v2" + BOOTSTRAP_FILE: "/Users/runner/.local/bin/fpm" + XSUFFIX: "" - os: windows-latest STACK_CACHE: | C:\Users\runneradmin\AppData\Roaming\stack C:\Users\runneradmin\AppData\Local\Programs\stack STACK_CACHE_VERSION: "v2" + BOOTSTRAP_FILE: C:\Users\runneradmin\AppData\Roaming\local\bin\fpm.exe + XSUFFIX: ".exe" env: FC: gfortran @@ -104,3 +110,45 @@ jobs: if: contains(matrix.os, 'windows') run: | ci\run_tests.bat + + # ----- Upload binaries if creating a release ----- + - name: Check that fpm --version matches release tag + if: github.event_name == 'release' && contains(matrix.os, 'ubuntu') + run: | + cd fpm + fpm run -- "--version" | grep $(echo ${{ github.ref }} | cut -d/ -f3) + + - name: Stage file for upload (Linux / macOS) + if: github.event_name == 'release' && (contains(matrix.os, 'ubuntu') || contains(matrix.os, 'macos')) + run: | + cd fpm + fpm run --runner cp -- fpm-${{ matrix.os }}-x86_64-debug + + - name: Stage file for upload (Windows) + if: github.event_name == 'release' && contains(matrix.os, 'windows') + shell: cmd + run: | + cd fpm + fpm run --runner copy -- fpm-${{ matrix.os }}-x86_64-debug + + - name: Upload dev trunk binary release + if: github.event_name == 'release' + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: fpm/fpm-${{ matrix.os }}-x86_64-debug + asset_name: fpm-${{ matrix.os }}-x86_64-debug${{ matrix.XSUFFIX }} + tag: ${{ github.ref }} + overwrite: true + prerelease: true + + - name: Upload dev trunk binary release (bootstrap fpm) + if: github.event_name == 'release' + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ matrix.BOOTSTRAP_FILE }} + asset_name: fpm-bootstrap-${{ matrix.os }}-x86_64-debug${{ matrix.XSUFFIX }} + tag: ${{ github.ref }} + overwrite: true + prerelease: true \ No newline at end of file -- cgit v1.2.3