forked from idris-lang/Idris2
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from andrevidela/test-collection
Create test-collection.yaml
- Loading branch information
Showing
1 changed file
with
141 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
--- | ||
name: Check Collection | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
permissions: write-all | ||
|
||
defaults: | ||
run: | ||
shell: bash | ||
|
||
jobs: | ||
|
||
check_db: | ||
name: Check package collection | ||
runs-on: ubuntu-latest | ||
env: | ||
PACK_DIR: /root/.pack | ||
GOFLAGS: "-buildvcs=false" | ||
strategy: | ||
fail-fast: false | ||
container: ghcr.io/stefan-hoeck/idris2-pack:latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Make output | ||
run: mkdir -p "$HOME/output" | ||
- name: Install dependencies | ||
run: | | ||
apt-get update | ||
apt-get install --yes libgsl-dev | ||
apt-get install --yes libpq-dev | ||
# ncurses-idris: | ||
apt-get install --yes libncurses-dev libc6-dev | ||
# sqlite3: | ||
apt-get install --yes libsqlite3-dev | ||
# idrisGL: | ||
apt-get install --yes libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl2-image-dev libsdl2-ttf-dev libsdl2-gfx-dev libsdl2-mixer-dev | ||
# idris2-go: | ||
apt-get install --yes golang-go | ||
# libuv | ||
apt-get install --yes libuv1-dev | ||
# rtlsdr | ||
apt-get install --yes librtlsdr-dev | ||
# node codegen: | ||
apt-get install --yes nodejs | ||
# spidr ecosystem | ||
apt-get install --yes curl | ||
- name: Use latest pack commit | ||
run: pack update | ||
- name: Install pack-admin | ||
run: pack --no-prompt install-app pack-admin | ||
- name: Copy HEAD | ||
run: cp collections/HEAD.toml "$PACK_DIR/db/HEAD.toml" | ||
- name: Extract Collection from HEAD | ||
run: pack-admin --no-prompt extract-from-head "$PACK_DIR/db/testdb.toml" | ||
- name: Switch Collection | ||
run: pack --no-prompt switch "testdb" | ||
- name: Re-Install pack-admin | ||
run: pack --no-prompt install-app pack-admin | ||
- name: Check Collection | ||
run: pack-admin --no-prompt --with-docs --use-katla check-collection "$HOME/output/" | ||
- name: Save generated files | ||
uses: actions/upload-artifact@master | ||
with: | ||
name: freshly-generated-status | ||
path: ~/output/* | ||
if-no-files-found: error | ||
|
||
|
||
upload: | ||
name: Upload generated files to main | ||
runs-on: ubuntu-latest | ||
needs: | ||
- check_db | ||
steps: | ||
- name: Checkout pack-db | ||
uses: actions/checkout@v4 | ||
with: | ||
persist-credentials: false | ||
fetch-depth: 0 | ||
- name: Get generated files | ||
uses: actions/download-artifact@master | ||
with: | ||
name: freshly-generated-status | ||
path: ~/output/ | ||
- name: Add files | ||
run: | | ||
cp ~/output/STATUS.md STATUS.md | ||
[ -f ~/output/testdb.toml ] && cp ~/output/testdb.toml "collections/nightly-$(date +%y%m%d).toml" | ||
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
git config --local user.name "github-actions[bot]" | ||
git add STATUS.md | ||
git add collections/* | ||
- name: Git commit | ||
run: git commit -m "[ check ] collection update" -m "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" | ||
- name: Push changes | ||
if: always() | ||
uses: ad-m/github-push-action@master | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
branch: ${{ github.ref }} | ||
- name: Fail if missing | ||
run: test -f "$HOME/output/testdb.toml" | ||
|
||
upload_docs: | ||
name: Upload generated API docs | ||
runs-on: ubuntu-latest | ||
needs: | ||
- check_db | ||
steps: | ||
- name: Checkout pack-db | ||
uses: actions/checkout@v4 | ||
with: | ||
persist-credentials: false | ||
fetch-depth: 0 | ||
ref: 'docs' | ||
- name: Get generated files | ||
uses: actions/download-artifact@master | ||
with: | ||
name: freshly-generated-status | ||
path: ~/output/ | ||
- name: Add files | ||
run: | | ||
cp -a ~/output/docs/* docs | ||
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" | ||
git config --local user.name "github-actions[bot]" | ||
git add docs | ||
- name: Git commit | ||
run: | | ||
git diff --cached --quiet --exit-code || \ | ||
git commit -m "[ docs ] CI docs generation" -m "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" | ||
- name: Push changes | ||
if: always() | ||
uses: ad-m/github-push-action@master | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
branch: 'docs' | ||
- name: Fail if missing | ||
run: test -f "$HOME/output/testdb.toml" |