Update package sets #2197
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow automates triggering operations of the registry API | |
name: Registry API | |
on: | |
issues: | |
# No 'edited' because new builds should be triggered by new comments. | |
types: [opened] | |
issue_comment: | |
types: [created] | |
jobs: | |
api: | |
# This condition is here because the issue_comment event is triggered | |
# for pull requests as well, but we want to ignore those. | |
# The second part is so that we don't start a workflow if the author of an | |
# issue comment is pacchettibotti itself. | |
if: ${{ (!github.event.issue.pull_request) && (github.actor != 'pacchettibotti') }} | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.PACCHETTIBOTTI_TOKEN }} | |
PACCHETTIBOTTI_TOKEN: ${{ secrets.PACCHETTIBOTTI_TOKEN }} | |
PACCHETTIBOTTI_ED25519_PUB: ${{ secrets.PACCHETTIBOTTI_ED25519_PUB }} | |
PACCHETTIBOTTI_ED25519: ${{ secrets.PACCHETTIBOTTI_ED25519 }} | |
SPACES_KEY: ${{ secrets.SPACES_KEY }} | |
SPACES_SECRET: ${{ secrets.SPACES_SECRET }} | |
steps: | |
# Checks out the registry-dev repository so we can run scripts from it | |
- uses: actions/checkout@v3 | |
with: | |
repository: purescript/registry-dev | |
token: ${{ env.PACCHETTIBOTTI_TOKEN }} | |
ref: 'master' | |
# We cache NPM and PureScript dependencies, as well as persist the in-memory | |
# cache used by the registry importer | |
- name: Cache NPM dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Cache PureScript dependencies | |
uses: actions/cache@v2 | |
with: | |
key: ${{ runner.os }}-spago-${{ hashFiles('**/spago.yaml') }} | |
path: | | |
.spago | |
output | |
- name: Set current time | |
run: echo "NOW=$(date)" >> $GITHUB_ENV | |
- name: Cache importer artifacts | |
uses: actions/cache@v2 | |
with: | |
# This cache directory is meant to be essentially permanent, with cache | |
# expiry implemented in code. However, we never want this to be a direct | |
# cache hit, or else new writes to the cache won't be saved. We want a | |
# partial hit by using a restore-key, which means the cache will always | |
# be saved with new changes, and will always be restored. | |
key: cache-1-${{ env.NOW }} | |
restore-keys: | | |
cache-1- | |
path: | | |
scratch/.cache | |
# The registry repository uses a number of system tools, so it's necessary we | |
# make them available via Nix | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@v4 | |
with: | |
github-token: ${{ env.PACCHETTIBOTTI_TOKEN }} | |
- name: Setup Nix cache | |
uses: DeterminateSystems/magic-nix-cache-action@v2 | |
# Finally, we can execute the registry API | |
- name: Install dependencies | |
run: nix develop | |
- name: Run the registry API | |
run: nix run .#github-importer |