65 lines
1.7 KiB
YAML
65 lines
1.7 KiB
YAML
|
name: On_Push
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches:
|
||
|
- 'main'
|
||
|
paths:
|
||
|
- flake.*
|
||
|
- src/**/*
|
||
|
- Cargo.*
|
||
|
- .forgejo/**/*
|
||
|
- rust-toolchain.toml
|
||
|
|
||
|
jobs:
|
||
|
# rust code must be formatted for standardisation
|
||
|
lint_fmt:
|
||
|
# build it using teh base nixos system, helps with caching
|
||
|
runs-on: nix
|
||
|
steps:
|
||
|
# get the repo first
|
||
|
- uses: https://code.forgejo.org/actions/checkout@v4
|
||
|
- run: nix build .#fmt --verbose
|
||
|
|
||
|
# clippy is incredibly useful for making yer code better
|
||
|
lint_clippy:
|
||
|
# build it using teh base nixos system, helps with caching
|
||
|
runs-on: nix
|
||
|
permissions:
|
||
|
checks: write
|
||
|
steps:
|
||
|
# get the repo first
|
||
|
- uses: https://code.forgejo.org/actions/checkout@v4
|
||
|
- run: nix build .#clippy --verbose
|
||
|
|
||
|
test:
|
||
|
# build it using teh base nixos system, helps with caching
|
||
|
runs-on: nix
|
||
|
permissions:
|
||
|
checks: write
|
||
|
steps:
|
||
|
# get the repo first
|
||
|
- uses: https://code.forgejo.org/actions/checkout@v4
|
||
|
- run: nix build .#test --verbose
|
||
|
|
||
|
build:
|
||
|
# build it using teh base nixos system, helps with caching
|
||
|
runs-on: nix
|
||
|
needs: [ lint_fmt, lint_clippy, test ]
|
||
|
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 }}
|