Files
static-pages/.github/workflows/publish.yml
T

66 lines
1.9 KiB
YAML

name: Publish
on:
release:
types: [published]
permissions:
contents: read
id-token: write
packages: write
env:
MISE_TRUSTED_CONFIG_PATHS: ${{ github.workspace }}/.mise/config.toml
jobs:
publish:
name: Publish
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- id: token
uses: immich-app/devtools/actions/create-workflow-token@caa599d954228439ea3e8ce1c3328f41ab120ee6 # create-workflow-token-action-v2.0.0
with:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- name: Setup Mise
uses: immich-app/devtools/actions/use-mise@7b8610a904d57da241e4ddba17fa62b62b15aed4 # use-mise-action-v2.0.2
with:
github_token: ${{ steps.token.outputs.token }}
- name: Get pnpm store directory
id: pnpm-store
run: echo "path=$(pnpm store path --silent)" >> "$GITHUB_OUTPUT"
- name: Cache pnpm store
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
with:
path: ${{ steps.pnpm-store.outputs.path }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install
run: pnpm install --frozen-lockfile
- name: Build packages
run: pnpm build:packages
- name: Find package
id: find-package
env:
RELEASE_TAG_NAME: ${{ github.event.release.tag_name }}
run: |
PACKAGE_NAME="${RELEASE_TAG_NAME%-*}"
echo "Package is $PACKAGE_NAME"
echo "package_name=$PACKAGE_NAME" >> "$GITHUB_OUTPUT"
- name: Publish
run: pnpm --filter ./packages/${{ steps.find-package.outputs.package_name }} publish --no-git-checks