fix windows artifact and release notes #31
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Build and Release | |
on: | |
push: | |
branches: | |
- '**' | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
arch: [amd64, arm64] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up GraalVM | |
uses: graalvm/setup-graalvm@v1 | |
with: | |
java-version: '21' | |
distribution: 'graalvm' | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
native-image-job-reports: 'true' | |
- name: Install Clojure CLI and Babashka | |
uses: DeLaGuardo/[email protected] | |
with: | |
cli: 'latest' | |
bb: 'latest' | |
- name: Run CI Task | |
run: clojure -T:build ci | |
- name: Archive build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: clj-mergetool-${{ matrix.os }}-${{ matrix.arch }} | |
path: target/clj-mergetool${{ matrix.os == 'windows-latest' && '.exe' || '' }} | |
if-no-files-found: error | |
release: | |
runs-on: ubuntu-latest | |
needs: build | |
if: startsWith(github.event.head_commit.message, 'Release') && github.ref == 'refs/heads/main' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Download build artifacts for Linux amd64 | |
uses: actions/download-artifact@v4 | |
with: | |
name: clj-mergetool-ubuntu-latest-amd64 | |
path: target/clj-mergetool-linux-amd64 | |
- name: Download build artifacts for Linux arm64 | |
uses: actions/download-artifact@v4 | |
with: | |
name: clj-mergetool-ubuntu-latest-arm64 | |
path: target/clj-mergetool-linux-arm64 | |
- name: Download build artifacts for Windows amd64 | |
uses: actions/download-artifact@v4 | |
with: | |
name: clj-mergetool-windows-latest-amd64 | |
path: target/clj-mergetool-windows-amd64.exe | |
- name: Download build artifacts for Windows arm64 | |
uses: actions/download-artifact@v4 | |
with: | |
name: clj-mergetool-windows-latest-arm64 | |
path: target/clj-mergetool-windows-arm64.exe | |
- name: Download build artifacts for macOS amd64 | |
uses: actions/download-artifact@v4 | |
with: | |
name: clj-mergetool-macos-latest-amd64 | |
path: target/clj-mergetool-macos-amd64 | |
- name: Download build artifacts for macOS arm64 | |
uses: actions/download-artifact@v4 | |
with: | |
name: clj-mergetool-macos-latest-arm64 | |
path: target/clj-mergetool-macos-arm64 | |
- name: Download release notes | |
uses: actions/download-artifact@v4 | |
with: | |
name: release-notes | |
path: RELEASE_NOTES.md | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
body_path: RELEASE_NOTES.md | |
files: | | |
target/clj-mergetool-linux-amd64 | |
target/clj-mergetool-linux-arm64 | |
target/clj-mergetool-windows-amd64.exe | |
target/clj-mergetool-windows-arm64.exe | |
target/clj-mergetool-macos-amd64 | |
target/clj-mergetool-macos-arm64 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |