diff --git a/.github/workflows/all_build.yml b/.github/workflows/all_build.yml new file mode 100644 index 0000000..5800a42 --- /dev/null +++ b/.github/workflows/all_build.yml @@ -0,0 +1,32 @@ +name: All Build + +on: + push: + branches: + - master + +env: + CARGO_TERM_COLOR: always + +jobs: + upgrade: + name: Build on ${{ matrix.os }} (${{ matrix.toolchain }}) + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + toolchain: [nightly, stable] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - id: setup + name: Setup Toolchain + uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ matrix.toolchain }} + + - name: Build project + run: cargo build --release --verbose diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml new file mode 100644 index 0000000..b645775 --- /dev/null +++ b/.github/workflows/weekly.yml @@ -0,0 +1,49 @@ +name: Weekly Update + +on: + schedule: + - cron: '0 8 * * *' + workflow_dispatch: + +env: + CARGO_TERM_COLOR: always + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + upgrade: + name: Build on Ubuntu Latest (Stable) + runs-on: ubuntu-latest + + steps: + - uses: actions/create-github-app-token@v1 + id: app-token + with: + app-id: ${{ vars.APP_ID }} + private-key: ${{ secrets.PRIVATE_APP_KEY }} + + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ steps.app-token.outputs.token }} + + - id: setup + name: Setup Toolchain + uses: dtolnay/rust-toolchain@stable + with: + toolchain: stable + + - name: Update Cargo.lock + run: cargo update --verbose + + - name: Build + run: cargo build --release --verbose + + - name: Push changes + continue-on-error: true + run: | + git config user.name ${{ secrets.GH_USER }} + git config user.email "${{ secrets.GH_MAIL }}" + git add Cargo.lock + git commit -m "Weekly Cargo.lock update" + git push