rename artifact to match expected #40
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: | |
- '**' | |
pull_request: | |
branches: | |
- '**' | |
permissions: | |
contents: write | |
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/setup-clojure@12.5 | |
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') | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Read tag from VERSION file | |
id: read_tag | |
run: echo "tag=$(cat resources/VERSION)" >> $GITHUB_OUTPUT | |
- name: Generate release notes from commit message | |
id: generate_release_notes | |
run: echo "${{ github.event.head_commit.message }}" > RELEASE_NOTES.md | |
- 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: Rename artifacts | |
run: | | |
mv target/clj-mergetool-linux-amd64/clj-mergetool target/clj-mergetool-linux-amd64 | |
mv target/clj-mergetool-linux-arm64/clj-mergetool target/clj-mergetool-linux-arm64 | |
mv target/clj-mergetool-windows-amd64/clj-mergetool.exe target/clj-mergetool-windows-amd64.exe | |
mv target/clj-mergetool-windows-arm64/clj-mergetool.exe target/clj-mergetool-windows-arm64.exe | |
mv target/clj-mergetool-macos-amd64/clj-mergetool target/clj-mergetool-macos-amd64 | |
mv target/clj-mergetool-macos-arm64/clj-mergetool target/clj-mergetool-macos-arm64 | |
- name: Display structure of downloaded files | |
run: ls -R target | |
- name: Create Release | |
uses: softprops/action-gh-release@v1 | |
if: github.ref == 'refs/heads/main' | |
with: | |
tag_name: ${{ steps.read_tag.outputs.tag }} | |
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 }} |