Files
Signal-Desktop-AppImage/.github/workflows/build.yml
2025-05-19 12:10:24 +09:00

68 lines
1.8 KiB
YAML

name: Build
on:
push:
repository_dispatch:
types: [external_build_trigger]
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Get Release
id: get_tag
run: |
LATEST_TAG=$(curl -s https://api.github.com/repos/signalapp/Signal-Desktop/releases/latest | jq -r '.tag_name')
echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_OUTPUT
- name: Skip if exists
run: |
LATEST_TAG="${{ steps.get_tag.outputs.LATEST_TAG }}"
MY_RELEASE=$(curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r '.tag_name')
if [[ -z "$MY_RELEASE" || "$MY_RELEASE" == "null" || "$LATEST_TAG" == "$MY_RELEASE" ]]; then
echo "Me: $MY_RELEASE, Target: $LATEST_TAG"
exit 1
fi
- uses: actions/checkout@v4
with:
repository: signalapp/Signal-Desktop
ref: ${{ steps.get_tag.outputs.LATEST_TAG }}
fetch-depth: 1
- name: Install jq
run: |
sudo apt update
sudo apt install -y jq python3
- name: Add AppImage
run: |
cp package.json package.json.orig
cat package.json.orig | jq '.build.linux.target = ["AppImage"]' > package.json
- name: Read .nvmrc
run: echo "NODE_VERSION=$(cat .nvmrc)" >> $GITHUB_OUTPUT
id: nvm
- name: Use Node.js ${{ steps.nvm.outputs.NODE_VERSION }}
uses: actions/setup-node@v2
with:
node-version: ${{ steps.nvm.outputs.NODE_VERSION }}
- name: Setup pnpm
uses: pnpm/action-setup@v4.1.0
- name: Build
run: |
pnpm install
pnpm build
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4.6.2
with:
path: |
release/*.AppImage