From 6408df38f674d8808232a61a8086ed01aae1d8d2 Mon Sep 17 00:00:00 2001 From: servostar Date: Thu, 21 Nov 2024 15:16:06 +0100 Subject: [PATCH 1/2] ci: simplify CI script --- run-ci.sh | 48 +----------------------------------------------- 1 file changed, 1 insertion(+), 47 deletions(-) diff --git a/run-ci.sh b/run-ci.sh index 84df72b..1d23d55 100755 --- a/run-ci.sh +++ b/run-ci.sh @@ -1,49 +1,3 @@ #!/bin/bash -function log() { - local timestamp=$(date +"%Y-%m-%d %H:%M:%S") - echo "$1 at $timestamp: $2" -} - -function abort() { - log "ERROR" "test case $1 has failed" - exit 1 -} - -function print-box() { - printf "\\n" - echo ".----------------------------------------------------------------." - printf "| %-62s |\\n" "$1" - echo "'----------------------------------------------------------------'" -} - -function enter-section() { - print-box "$1" - - log "INFO" "running task in section $1: $2" - log "INFO" "section output following..." - printf "\\n" - - eval "$2" - exit_status=$? - - if [ "$3" == "should fail" ]; then - log "INFO" "expected to fail..." - if [ $exit_status -eq 0 ]; then - abort "command: $2 failed in section: $1 with: $exit_status" - fi - else - log "INFO" "expected to pass..." - if [ ! $exit_status -eq 0 ]; then - abort "command: $2 failed in section: $1 with: $exit_status" - fi - fi - - printf "\\n" - log "INFO" "section $1 completed successfully" -} - -enter-section "Typstyle checking" "./run-fmt.sh --check src/lib.typ" 0 -enter-section "Compiling template..." "typst compile template/main.typ --root . --font-path fonts example.pdf" - -log "INFO" "CI completed successfully" +typst compile template/main.typ --root . --font-path fonts example.pdf -- 2.40.1 From d5a176a60ab2be859783c47c9eadeb41fdd91746 Mon Sep 17 00:00:00 2001 From: servostar Date: Thu, 21 Nov 2024 15:16:58 +0100 Subject: [PATCH 2/2] ci: rebuild GitHub action --- .github/workflows/ci.yml | 16 ---------- .github/workflows/release.yml | 60 +++++++++++++++++++++++++++-------- 2 files changed, 47 insertions(+), 29 deletions(-) delete mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index c8d9163..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: GitHub Action for checking typst compilation -run-name: Performing Typst compilation -on: [push] - -jobs: - run-ci-linux: - runs-on: ubuntu-latest - steps: - - name: Check out repository code - uses: actions/checkout@v3 - - name: Setup Nix - uses: cachix/install-nix-action@v27 - with: - nix_path: nixpkgs=channel:nixos-unstable - - name: Run CI - run: nix-shell --run ./run-ci.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cc8627e..8732c2c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,12 +1,13 @@ -name: release +name: Build'n check on ${{ github.event.head_commit.message }} on: push: - tags: - - 'v*.*.*' + branches: + - main jobs: - release: + build: + name: Check Template and Build example runs-on: ubuntu-latest steps: - name: Check out repository code @@ -15,16 +16,49 @@ jobs: uses: cachix/install-nix-action@v27 with: nix_path: nixpkgs=channel:nixos-unstable - - name: Run CI - run: nix-shell --run ./run-ci.sh + - name: Stylecheck + run: nix-shell --run "./run-fmt.sh --check src/lib.typ" + - id: build + name: Build + run: | + nix-shell --run ./run-ci.sh + - name: Upload artifact + id: artifact-upload + uses: actions/upload-artifact@v3 + with: + name: example-document + path: ${{ github.workspace }}/example.pdf + if-no-files-found: error + retention-days: 1 + - name: Output artifact ID + run: echo 'Artifact ID is ${{ steps.artifact-upload.outputs.artifact-id }}' + release: + runs-on: ubuntu-latest + needs: build + if: startsWith(github.ref, 'refs/tags/') + permissions: + contents: write + steps: + - name: Check out repository code + uses: actions/checkout@v3 - name: Setup go - uses: https://github.com/actions/setup-go@v4 + uses: actions/setup-go@v4 with: go-version: '>=1.20.1' - - name: Create release - id: create-release - uses: https://gitea.com/actions/release-action@main + - name: Download Artifcat + id: download + uses: actions/download-artifact@v3 with: - files: |- - example.pdf - api_key: '${{secrets.RELEASE_TOKEN}}' + name: example-document + path: ${{ github.workspace }}/Example.pdf + - name: 'Artifact Download Path' + run: echo ${{ steps.download.outputs.download-path }} + - name: Prepare Release + run: echo ${{ github.sha }} > Release.txt + - name: Release ${{ GITHUB_REF_NAME }} + uses: softprops/action-gh-release@v2 + with: + files: | + Example.pdf + Release.txt + LICENSE -- 2.40.1