Skip to content

quote -> motd

quote -> motd #5

Workflow file for this run

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"