Skip to content

Fix release action

Fix release action #21

Workflow file for this run

name: Release CI
on: [push, pull_request]
jobs:
create_release:
name: Create release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Create release
run: |
git tag -f nightly
git push -f origin nightly
gh release delete nightly -y || :
gh release create nightly -t 'Nightly builds' -F CHANGELOG.md -p
env:
GH_TOKEN: ${{ github.token }}
create_x86_64_unknown_linux_musl:
name: Create batch-nightly-x86_64-unknown-linux-musl.tar.xz
needs: create_release
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build Docker image
run: docker build -t batch .
- name: Build release
run: docker run -v .:/app -w /app batch make static=yes release name=batch version=nightly target=x86_64-unknown-linux-musl
- name: Run tests
run: docker run -v .:/app -w /app batch make test
- name: Upload artifact
run: gh release upload nightly releases/batch-nightly-x86_64-unknown-linux-musl.tar.xz
env:
GH_TOKEN: ${{ github.token }}
create_aarch64_apple_darwin:
name: Create batch-nightly-aarch64-apple-darwin.tar.xz
needs: create_release
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Crystal
uses: crystal-lang/install-crystal@v1
- name: Build release
run: make release name=batch version=nightly target=aarch64-apple-darwin
- name: Run tests
run: make test
- name: Upload artifact
run: gh release upload nightly releases/batch-nightly-aarch64-apple-darwin.tar.xz
env:
GH_TOKEN: ${{ github.token }}
create_x86_64_apple_darwin:
name: Create batch-nightly-x86_64-apple-darwin.tar.xz
needs: create_release
runs-on: macos-13
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install packages
run: brew install crystal
- name: Build release
run: make release name=batch version=nightly target=x86_64-apple-darwin
- name: Run tests
run: make test
- name: Upload artifact
run: gh release upload nightly releases/batch-nightly-x86_64-apple-darwin.tar.xz
env:
GH_TOKEN: ${{ github.token }}
create_x86_64_pc_windows_msvc:
name: Create batch-nightly-x86_64-pc-windows-msvc.zip
needs: create_release
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Crystal
uses: crystal-lang/install-crystal@v1
- name: Build release
run: |
shards build --release
7z a releases/batch-nightly-x86_64-pc-windows-msvc.zip bin/batch.exe
- name: Upload artifact
run: gh release upload nightly releases/batch-nightly-x86_64-pc-windows-msvc.zip
env:
GH_TOKEN: ${{ github.token }}