*: Add GitHub Actions (#371)

*: Add shell.nix for development
*: Add test workflow
This commit is contained in:
diamondburned 2023-01-31 00:31:46 -08:00 committed by GitHub
parent 00c3ed4b8a
commit 52f70d95eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 0 deletions

40
.github/workflows/test.yml vendored Normal file
View File

@ -0,0 +1,40 @@
name: Test
on:
push:
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Nix packages
uses: diamondburned/cache-install@0746911c01dc84bba95d35be82db09435537d8ca
- name: Generate
run: |
go generate ./...
if ! git diff --exit-code; then
echo '::error::Repository differ after `go generate`.'
exit 1
fi
- name: Build
run: |
go build ./...
- name: Test
run: |
go test -coverprofile /tmp/coverage.out -race ./...
go tool cover -func /tmp/coverage.out
env:
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
- name: Upload coverage profile
uses: actions/upload-artifact@v3
with:
name: coverage
path: /tmp/coverage.out

11
shell.nix Normal file
View File

@ -0,0 +1,11 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
buildInputs = with pkgs; [
go
gopls
go-tools
];
CGO_ENABLED = "1";
}