This repository has been archived on 2024-10-13. You can view files and clone it, but cannot push or open issues or pull requests.
nix-packages/.github/workflows/build.yml

94 lines
3.2 KiB
YAML

name: build
on:
pull_request:
branches:
- main
jobs:
build:
strategy:
matrix:
package:
- akkoma
- pleroma-fe
- admin-fe
- emoji-lotte
- emoji-volpeon-blobfox
- emoji-volpeon-blobfox-flip
- emoji-volpeon-bunhd
- emoji-volpeon-bunhd-flip
- emoji-volpeon-drgn
- emoji-volpeon-fox
- emoji-volpeon-raccoon
- emoji-volpeon-vlpn
- lotte-art
- drone-runner-docker
- alco-sans
- constructium
- fairfax
- fairfax-hd
- kreative-square
- nasin-nanpa
- matrix-media-repo
- mautrix-discord
- mautrix-whatsapp
- mautrix-signal
- mautrix-telegram
- python-mautrix
- python-tulir-telethon
- papermc
- python-plover-stroke
- python-rtf-tokenize
- plover
- plover-plugins-manager
- python-simplefuzzyset
- plover-plugin-emoji
- plover-plugin-tapey-tape
- plover-plugin-yaml-dictionary
- plover-plugin-machine-hid
- plover-plugin-rkb1-hid
- plover-dict-didoesdigital
- miifox-net
- old-homepage
- clean-s3-cache
- python-instagram
- moa
- nix-s3-dedup
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Install Nix
uses: cachix/install-nix-action@v18
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nixcache:8KKuGz95Pk4UJ5W/Ni+pN+v+LDTkMMFV4yrGmAYgkDg= hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=
experimental-features = nix-command flakes ca-derivations
post-build-hook = ${{ github.workspace }}/scripts/post-build-hook
substituters = https://cache.chir.rs/
- name: Download patched nix
run: nix build github:DarkKirb/nix-packages#nix-s3-dedup
- name: Set up secrets
run: |
echo "$NIX_CACHE_KEY" > ~/cache.key
sudo mkdir /root/.aws
echo "$AWS_CREDENTIALS" | sudo tee /root/.aws/credentials > /dev/null
env:
NIX_CACHE_KEY: ${{secrets.NIX_CACHE_KEY}}
AWS_CREDENTIALS: ${{secrets.AWS_CREDENTIALS}}
- name: install jq
run: sudo apt install jq
- name: Build ${{ matrix.package }}
run: |
DRV_PATH=$(nix-instantiate -E '(import ./. {}).${{ matrix.package }}')
OUT_PATH=$(nix show-derivation $DRV_PATH | jq -r ".\"$DRV_PATH\".outputs.out.path")
# check if we already built it
NARINFO=$(echo $OUT_PATH | sed 's|/| |g' | sed 's|-| |g' | awk '{print $3}')
if curl --output /dev/null --silent --fail "https://cache.chir.rs/$NARINFO.narinfo"; then
echo "${{ matrix.package }} already built. Skipping"
else
nix-store -r $DRV_PATH
fi
env:
NIXPKGS_ALLOW_UNFREE: 1