Skip to content

build

build #1129

Workflow file for this run

name: build
on:
pull_request:
branches: [ main ]
push:
branches: [ main ]
schedule:
- cron: '0 9 * * *'
workflow_dispatch:
jobs:
macos-build:
runs-on: macos-ventura
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.ACCESS_TOKEN }}
submodules: recursive
fetch-depth: 0
lfs: true
- name: Build, test, and release
env:
DEVELOPER_ID_APPLICATION_CERTIFICATE_BASE64: ${{ secrets.PERSONAL_DEVELOPER_ID_APPLICATION_CERTIFICATE_BASE64 }}
DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD: ${{ secrets.PERSONAL_DEVELOPER_ID_APPLICATION_CERTIFICATE_PASSWORD }}
APPLE_API_KEY_BASE64: ${{ secrets.PERSONAL_APPLE_API_KEY_BASE64 }}
APPLE_API_KEY_ID: ${{ secrets.PERSONAL_APPLE_API_KEY_ID }}
APPLE_API_KEY_ISSUER_ID: ${{ secrets.PERSONAL_APPLE_API_KEY_ISSUER_ID }}
SPARKLE_PRIVATE_KEY_BASE64: ${{ secrets.SPARKLE_PRIVATE_KEY_BASE64 }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE: ${{ github.ref == 'refs/heads/main' }}
run: |
scripts/bootstrap.sh scripts/build.sh
- name: Archive the build directory
uses: actions/upload-artifact@v4
with:
path: build
if-no-files-found: error
ubuntu-build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.ACCESS_TOKEN }}
submodules: recursive
fetch-depth: 0
lfs: true
- name: Build, test, and release
run: |
scripts/build-ubuntu.sh
website-build:
needs: macos-build
runs-on: macos-13
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.ACCESS_TOKEN }}
submodules: recursive
fetch-depth: 0
lfs: true
- name: Download the build artifacts
uses: actions/download-artifact@v4
with:
path: build
- name: Build the site
run: |
pushd build
unzip artifact/incontext-*.zip
popd
build/incontext build --site docs
mv docs/build/files _site
- name: Fix permissions
run: |
chmod -v -R +rX "_site/" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v3
website-deploy:
needs: website-build
if: ${{ github.ref == 'refs/heads/main' }}
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
macos-update-homebrew:
needs: macos-build
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- name: Update Homebrew formula
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets._GITHUB_ACCESS_TOKEN }}
repository: inseven/homebrew-incontext
event-type: update
macos-update-sparkle:
needs: macos-build
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- name: Update Sparkle archives
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets._GITHUB_ACCESS_TOKEN }}
repository: inseven/sparkle-archives
event-type: build