Skip to content

feat: support set threads of diving #108

feat: support set threads of diving

feat: support set threads of diving #108

Workflow file for this run

name: "publish"
on:
push:
tags: ["v[0-9]+.[0-9]+.[0-9]+*"]
# branches: [ main ]
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
CARGO_TERM_COLOR: always
jobs:
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: build-web
run: make build-web
- name: Install target
run: |
rustup update
rustup target add aarch64-apple-darwin
rustup target add x86_64-apple-darwin
- name: release
run: |
cargo build --release --target=aarch64-apple-darwin
mv target/aarch64-apple-darwin/release/diving ./diving-darwin-aarch64
./.github/workflows/upload_asset.sh ./diving-darwin-aarch64 $GITHUB_TOKEN
cargo build --release --target=x86_64-apple-darwin
mv target/x86_64-apple-darwin/release/diving ./diving-darwin-x86
./.github/workflows/upload_asset.sh ./diving-darwin-x86 $GITHUB_TOKEN
windows:
runs-on: windows-latest
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
- name: build-web
run: make build-web
- name: release
run: make release
- name: Upload Assets
run: |
mv target/release/diving.exe ./diving-windows.exe
./.github/workflows/upload_asset.sh ./diving-windows.exe $GITHUB_TOKEN
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
- name: build-web
run: make build-web
- name: release
uses: addnab/docker-run-action@v3
with:
image: messense/rust-musl-cross:x86_64-musl
options: -v ${{ github.workspace }}:/home/rust/src
run: |
make release
mv target/x86_64-unknown-linux-musl/release/diving ./diving-linux-x86
- name: Upload Assets
run: |
./.github/workflows/upload_asset.sh ./diving-linux-x86 $GITHUB_TOKEN
linux-aarch64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: setup node
uses: actions/setup-node@v3
- name: build-web
run: make build-web
- name: release
uses: addnab/docker-run-action@v3
with:
image: messense/rust-musl-cross:aarch64-musl
options: -v ${{ github.workspace }}:/home/rust/src
run: |
make release
mv target/aarch64-unknown-linux-musl/release/diving ./diving-linux-aarch64
- name: Upload Assets
run: |
./.github/workflows/upload_asset.sh ./diving-linux-aarch64 $GITHUB_TOKEN
docker:
runs-on: ubuntu-latest
timeout-minutes: 3600
steps:
- name: Change Swap Space
run: |
swapon --show=NAME | tail -n 1
df -lh
du -sh /usr/share/dotnet
sudo rm -rf /usr/share/dotnet
du -sh /usr/local/lib/android
sudo rm -rf /usr/local/lib/android
export SWAP_FILE=$(swapon --show=NAME | tail -n 1)
sudo swapoff $SWAP_FILE
sudo rm $SWAP_FILE
export SWAP_FILE=/swapfile
sudo fallocate -l 16G $SWAP_FILE
sudo chmod 600 $SWAP_FILE
sudo mkswap $SWAP_FILE
sudo swapon $SWAP_FILE
- name: Swap space report after modification
shell: bash
run: |
echo "Memory and swap:"
free -h
echo
swapon --show
df -lh
echo
- name: Checkout
uses: actions/checkout@v3
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
vicanso/diving
tags: |
type=semver,pattern={{version}}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v4
with:
platforms: linux/amd64, linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
- name: Image digest
run: |
echo ${{ steps.docker_build.outputs.digest }}