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 container: image: rust:latest steps: # get the repo first - uses: https://code.forgejo.org/actions/checkout@v4 #- run: rustup component add rustfmt - run: rustc --version - run: cargo version - run: cargo fmt -- --check # clippy is incredibly useful for making yer code better lint_clippy: # build it using teh base nixos system, helps with caching runs-on: docker container: image: rust:latest steps: # get the repo first - uses: https://code.forgejo.org/actions/checkout@v4 #- run: rustup component add clippy - run: rustc --version - run: cargo version - run: cargo clippy - run: cargo test --verbose - run: nix build --verbose 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 }}