summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorRasmus Andersson <rasmus@notion.se>2022-10-04 19:26:55 +0300
committerRasmus Andersson <rasmus@notion.se>2022-10-04 19:26:55 +0300
commit52c9e435aa11b8b889facd9d52f8c9c8492ddee7 (patch)
tree34824dc0b88fe7cf2d6df05dd36f481a37803efb /.github
parent79bc7b6cbd36b19308efb43e3b4948bbfead04d7 (diff)
downloadinter-52c9e435aa11b8b889facd9d52f8c9c8492ddee7.tar.xz
adds github action to build fonts when source changes, pre-release tags are created and pull requests
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build-fonts.yml93
1 files changed, 93 insertions, 0 deletions
diff --git a/.github/workflows/build-fonts.yml b/.github/workflows/build-fonts.yml
new file mode 100644
index 000000000..9edf02a40
--- /dev/null
+++ b/.github/workflows/build-fonts.yml
@@ -0,0 +1,93 @@
+# Builds fonts either when a prerelease version tag (e.g. v1.2-foo)
+# is created, or when source is changed.
+#
+# When a version tag is created, a pre-release is automatically created.
+#
+# Otherwise, when source changes without a tag being created,
+# the build artifacts are uploaded to github and saved for 1 day.
+# They can be found at https://github.com/rsms/inter/actions/runs/RUNID
+name: Build fonts
+
+on:
+ push:
+ branches: [master]
+ paths:
+ - "src/**"
+ - Makefile
+ - requirements.txt
+ - version.txt
+ - misc/makezip2.sh
+ - "misc/tools/**"
+ tags:
+ - "v*-*"
+ pull_request:
+ branches: [master]
+ paths:
+ - "src/**"
+ - Makefile
+ - requirements.txt
+ - version.txt
+ - misc/makezip2.sh
+ - "misc/tools/**"
+ workflow_dispatch:
+
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup Python
+ uses: actions/setup-python@v3
+ with:
+ python-version: '3.x'
+
+ - name: Install utilities
+ run: sudo apt-get install -y zip
+
+ - name: Setup python venv
+ run: make venv
+
+ - name: Define version (tag)
+ if: startsWith(github.ref, 'refs/tags/v')
+ run: |
+ VERSION=${{ github.ref }}
+ VERSION=${VERSION:11} # refs/tags/v1.2.3 => 1.2.3
+ echo "inter_version=$VERSION" >> $GITHUB_ENV
+
+ - name: Define version (branch)
+ if: ${{ ! startsWith(github.ref, 'refs/tags/v') }}
+ run: |
+ GITSHA=${{ github.sha }}
+ VERSION=$(cat version.txt)
+ echo "inter_version=${VERSION}-${GITSHA:0:10}" >> $GITHUB_ENV
+
+ - name: make zip
+ run: |
+ ARCHIVE=Inter-${{ env.inter_version }}.zip
+ echo "rsm_archive=$ARCHIVE" >> $GITHUB_ENV
+ make -j zip
+ mv build/release/*.zip "$ARCHIVE"
+
+ - name: Upload archive (unless tag)
+ if: ${{ ! startsWith(github.ref, 'refs/tags/v') }}
+ uses: actions/upload-artifact@v3
+ with:
+ name: "${{ env.rsm_archive }}"
+ path: "${{ env.rsm_archive }}"
+ retention-days: 1
+
+ - name: Publish release (if tag)
+ if: startsWith(github.ref, 'refs/tags/v')
+ uses: softprops/action-gh-release@v1
+ prerelease: true
+ with:
+ name: "${{ env.inter_version }}"
+ body: "This release was automatically created"
+ files: "${{ env.rsm_archive }}"