quote -> motd #5
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: Release on Push to Main | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Build project | |
run: cargo build --release | |
- name: Verify Build Output | |
run: ls -lh target/release/ | |
- name: Archive Linux binary | |
run: | | |
mkdir -p dist | |
cp target/release/valheim-motd dist/valheim-motd-linux | |
tar -czvf dist/valheim-motd-linux.tar.gz -C dist valheim-motd-linux | |
- name: Upload Linux binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: linux-binary | |
path: dist/valheim-motd-linux.tar.gz | |
build-macos: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: Build project | |
run: cargo build --release | |
- name: Verify Build Output | |
run: ls -lh target/release/ | |
- name: Archive macOS binary | |
run: | | |
mkdir -p dist | |
cp target/release/valheim-motd dist/valheim-motd-macos | |
tar -czvf dist/valheim-motd-macos.tar.gz -C dist valheim-motd-macos | |
- name: Upload macOS binary | |
uses: actions/upload-artifact@v3 | |
with: | |
name: macos-binary | |
path: dist/valheim-motd-macos.tar.gz | |
release: | |
runs-on: ubuntu-latest | |
needs: [build-linux, build-macos] | |
steps: | |
- name: Download Linux binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: linux-binary | |
path: dist | |
- name: Download macOS binary | |
uses: actions/download-artifact@v3 | |
with: | |
name: macos-binary | |
path: dist | |
- name: Create Release | |
env: | |
TAG_NAME: v$(date +%F) | |
run: | | |
# Create a new release | |
response=$(curl -s -X POST https://api.github.com/repos/${{ github.repository }}/releases \ | |
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
-H "Content-Type: application/json" \ | |
-d '{ | |
"tag_name": "'"$TAG_NAME"'", | |
"target_commitish": "'"${{ github.sha }}"'", | |
"name": "'"$TAG_NAME"'", | |
"body": "Automated release for '"$TAG_NAME"'", | |
"draft": false, | |
"prerelease": false | |
}') | |
# Extract the release ID | |
release_id=$(echo "$response" | jq -r '.id') | |
# Upload the Linux binary | |
curl -s -X POST \ | |
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
-H "Content-Type: application/gzip" \ | |
--data-binary @dist/valheim-motd-linux.tar.gz \ | |
"https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=valheim-motd-linux.tar.gz" | |
# Upload the macOS binary | |
curl -s -X POST \ | |
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ | |
-H "Content-Type: application/gzip" \ | |
--data-binary @dist/valheim-motd-macos.tar.gz \ | |
"https://uploads.github.com/repos/${{ github.repository }}/releases/$release_id/assets?name=valheim-motd-macos.tar.gz" |