name: On_Push on: push: branches: - 'main' paths: - flake.* - src/**/* - Cargo.* - .forgejo/**/* jobs: # rust code must be formatted for standardisation lint_fmt: # build it using teh base nixos system, helps with caching runs-on: docker steps: # get the repo first - uses: https://code.forgejo.org/actions/checkout@v4 - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 with: components: rustfmt - uses: https://github.com/actions-rust-lang/actions-rust-lang/rustfmt@v1 # clippy is incredibly useful for making yer code better lint_clippy: # build it using teh base nixos system, helps with caching runs-on: docker permissions: checks: write steps: # get the repo first - uses: https://code.forgejo.org/actions/checkout@v4 - uses: https://github.com/actions-rust-lang/setup-rust-toolchain@v1 with: components: clippy - uses: https://github.com/actions-rust-lang/auguwu/clippy-action@1.4.0 with: token: ${{secrets.GITHUB_TOKEN}} build: # build it using teh base nixos system, helps with caching runs-on: nix needs: [ lint_fmt, lint_clippy ] steps: # get the repo first - uses: https://code.forgejo.org/actions/checkout@v4 - name: "Build it locally" run: nix build --verbose # deploy it upstream deploy: # runs on teh default docker container runs-on: docker needs: [ build ] steps: - name: "Deploy to Skynet" uses: https://forgejo.skynet.ie/Skynet/actions-deploy-to-skynet@v2 with: input: 'skynet_discord_bot' token: ${{ secrets.API_TOKEN_FORGEJO }}