62 lines
No EOL
1.7 KiB
YAML
62 lines
No EOL
1.7 KiB
YAML
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://forgejo.skynet.ie/Skynet/actions-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://forgejo.skynet.ie/Skynet/actions-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 }} |