messing around and finding out pt5 the understanding more #6
Workflow file for this run
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: build static binary | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
- Dj-Codeman-build-test-debian | |
tags: | |
- '*' | |
pull_request: | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build | |
run: | | |
docker buildx build --platform "linux/amd64,linux/arm64" --file .github/workflows/Dockerfile.build.static --output out . | |
mv out/**/doge_* out/ | |
rm -r out/linux* | |
- name: Upload to artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: binary_linux | |
path: ./out/doge_* | |
build-macos: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Dependencies | |
run: | | |
rustup target add aarch64-apple-darwin | |
- name: Build | |
run: | | |
cargo build --release --target=aarch64-apple-darwin | |
cargo build --release --target=x86_64-apple-darwin | |
mkdir out | |
mv -v target/aarch64-apple-darwin/release/doge out/doge_darwin_arm64 | |
mv -v target/x86_64-apple-darwin/release/doge out/doge_darwin_x86_64 | |
- name: Upload to artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: binary_macos | |
path: ./out/* | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup rust | |
run: | | |
rustup target add aarch64-pc-windows-msvc | |
- name: Build | |
run: | | |
cargo build --release --target x86_64-pc-windows-msvc | |
cargo build --release --target aarch64-pc-windows-msvc | |
mkdir out | |
move target\x86_64-pc-windows-msvc\release\doge.exe out\doge_windows_x86_64.exe | |
move target\aarch64-pc-windows-msvc\release\doge.exe out\doge_windows_arm64.exe | |
- name: Upload to artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: binary_windows | |
path: ./out/* | |
release: | |
runs-on: ubuntu-latest | |
needs: | |
- build-linux | |
- build-windows | |
- build-macos | |
steps: | |
- name: Download Artifact | |
uses: actions/download-artifact@v3 | |
with: | |
path: ./artifacts | |
- name: organize files | |
run: | | |
tree artifacts | |
mkdir out | |
mv -v artifacts/**/doge_* out/ | |
- name: Release | |
if: startsWith(github.ref, 'refs/tags/') | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: ./out/doge_* |