tricu/.gitea/workflows/test-and-build.yml

89 lines
2.1 KiB
YAML
Raw Normal View History

2025-01-21 12:24:11 -06:00
name: Test and Build
on:
push:
branches:
- main
2025-01-21 12:35:13 -06:00
- feat/cicd
2025-01-21 12:24:11 -06:00
pull_request:
types:
- opened
- synchronize
jobs:
test:
container:
2025-01-21 13:00:45 -06:00
image: docker.matri.cx/nix-runner:latest
credentials:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
2025-01-21 12:24:11 -06:00
steps:
2025-01-21 13:00:45 -06:00
- name: Checkout code
uses: actions/checkout@v3
2025-01-21 12:33:55 -06:00
2025-01-21 13:12:35 -06:00
- name: Set up cache for Cabal
uses: actions/cache@v3
with:
path: |
~/.cabal
~/.ghc
key: cabal-${{ runner.os }}-${{ hashFiles('cabal.project') }}
restore-keys: |
cabal-${{ runner.os }}-
- name: Set up cache for Nix
uses: actions/cache@v3
with:
path: |
/nix/store
/nix/var/nix/cache
key: nix-${{ runner.os }}-${{ hashFiles('flake.nix') }}
restore-keys: |
nix-${{ runner.os }}-
- name: Initialize Cabal and update package list
run: |
cabal update
cabal configure
2025-01-21 13:00:45 -06:00
- name: Install dependencies and run tests
2025-01-21 12:33:55 -06:00
run: |
2025-01-21 13:00:45 -06:00
nix develop --command cabal test
2025-01-21 12:33:55 -06:00
2025-01-21 13:00:45 -06:00
build:
needs: test
container:
image: docker.matri.cx/nix-runner:latest
credentials:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
steps:
2025-01-21 12:24:11 -06:00
- name: Checkout code
uses: actions/checkout@v3
2025-01-21 13:12:35 -06:00
- name: Set up cache for Cabal
uses: actions/cache@v3
with:
path: |
~/.cabal
~/.ghc
key: cabal-${{ runner.os }}-${{ hashFiles('cabal.project') }}
restore-keys: |
cabal-${{ runner.os }}-
- name: Set up cache for Nix
uses: actions/cache@v3
with:
path: |
/nix/store
/nix/var/nix/cache
key: nix-${{ runner.os }}-${{ hashFiles('flake.nix') }}
restore-keys: |
nix-${{ runner.os }}-
2025-01-21 13:00:45 -06:00
- name: Build binary
2025-01-21 12:24:11 -06:00
run: |
2025-01-21 13:00:45 -06:00
nix build
ls -alh ./result/bin/tricu
2025-01-21 13:12:35 -06:00