Skip to content

Commit

Permalink
add build job
Browse files Browse the repository at this point in the history
  • Loading branch information
deemp committed Jul 19, 2023
1 parent ff5b761 commit 8b53f43
Showing 1 changed file with 61 additions and 20 deletions.
81 changes: 61 additions & 20 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,47 @@
jobs:
build:
name: Build and test the action
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3

# http://man7.org/linux/man-pages/man1/date.1.html
- name: Get Date
id: get-date
run: |
echo "date=$(/bin/date -u "+date-%Y-%m-%d-time-%H-%M-%S")" >> $GITHUB_OUTPUT
shell: bash

- uses: actions/cache@v3
with:
path: |
~/.npm
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json', 'package.json') }}-${{ steps.get-date.outputs.date }}
restore-keys: |
${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json', 'package.json') }}-
- name: Install packages & Build the action
run: npm ci

- name: Commit & Push changes
if: github.event_name == 'push'
run: |
git config --global user.name github-actions
git config --global user.email [email protected]
git pull --rebase --autostash
git add dist
git commit -m "action: build the action" || echo ""
git push
test:
name: Nix CI
runs-on: ${{ matrix.os }}
needs: build
# required by the `purge-cache` action
permissions:
actions: write
steps:
- name: Checkout this repo
uses: actions/checkout@v3
Expand All @@ -12,7 +52,15 @@ jobs:
substituters = https://cache.nixos.org/ https://nix-community.cachix.org
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
keep-outputs = true
# http://man7.org/linux/man-pages/man1/date.1.html
- name: Get Date
id: get-date
run: |
echo "date=$(/bin/date -u "+date-%Y-%m-%d-time-%H-%M-%S")" >> $GITHUB_OUTPUT
shell: bash

# -------- THIS ACTION --------
- name: Restore and cache Nix store
if: ${{ matrix.do-cache }}
uses: ./.
Expand All @@ -21,10 +69,21 @@ jobs:
linux-max-store-size: 8000000000
macos-gc-enabled: true
macos-max-store-size: 8000000000
key: cache-${{ matrix.os }}-${{ hashFiles('.github/workflows/ci.yaml') }}
# save a new cache every time
key: cache-${{ matrix.os }}-${{ hashFiles('.github/workflows/ci.yaml') }}-${{ steps.get-date.outputs.date }}
restore-keys: |
cache-${{ matrix.os }}
cache-${{ matrix.os }}-${{ hashFiles('.github/workflows/ci.yaml') }}-
cache-${{ matrix.os }}-
# -------- THIS ACTION --------

# purge caches created more than 2 days ago
- uses: deemp/purge-cache@v1
with:
debug: true
by-time: created
# 2 days
max-age: 86400

# Uncomment to debug this job
# - name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
Expand Down Expand Up @@ -72,24 +131,6 @@ jobs:
do-cache:
- true
- false

remove-old-data:
name: Remove old data
runs-on: ubuntu-22.04
permissions:
contents: read
actions: write
steps:
- name: Delete workflow runs
uses: Mattraks/[email protected]
with:
retain_days: 7
keep_minimum_runs: 7
- uses: deemp/purge-cache@v1
with:
# 3 days
debug: true
max-age: 259200

name: Nix CI
"on":
Expand Down

0 comments on commit 8b53f43

Please sign in to comment.