mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-23 03:20:16 +10:00
122 lines
3.5 KiB
YAML
122 lines
3.5 KiB
YAML
name: Publish - Stable - Spearhead
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
new_release:
|
|
type: boolean
|
|
description: Force new Release
|
|
dont_update:
|
|
type: boolean
|
|
description: Don't update VSCode
|
|
dont_dispatch:
|
|
type: boolean
|
|
description: Disable dispatch
|
|
schedule:
|
|
- cron: 0 18 * * *
|
|
|
|
env:
|
|
APP_NAME: VSCodium
|
|
ASSETS_REPOSITORY: ${{ github.repository }}
|
|
BINARY_NAME: codium
|
|
GH_REPO_PATH: ${{ github.repository }}
|
|
ORG_NAME: ${{ github.repository_owner }}
|
|
OS_NAME: osx
|
|
SOURCEMAPS_REPOSITORY: ${{ github.repository_owner }}/sourcemaps
|
|
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
|
VSCODE_ARCH: arm64
|
|
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
|
|
VSCODE_QUALITY: stable
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: macos-15
|
|
outputs:
|
|
MS_COMMIT: ${{ env.MS_COMMIT }}
|
|
MS_TAG: ${{ env.MS_TAG }}
|
|
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
|
|
SHOULD_BUILD: ${{ env.SHOULD_BUILD }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
ref: master
|
|
persist-credentials: false
|
|
|
|
- name: Clone VSCode repo
|
|
run: . get_repo.sh
|
|
|
|
- name: Check existing VSCodium tags/releases
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
NEW_RELEASE: ${{ github.event.inputs.new_release }}
|
|
IS_SPEARHEAD: 'yes'
|
|
run: . check_tags.sh
|
|
|
|
build:
|
|
needs:
|
|
- check
|
|
runs-on: macos-15
|
|
environment: publish
|
|
permissions:
|
|
contents: write # Release
|
|
env:
|
|
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
|
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
|
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
|
SHOULD_BUILD: ${{ needs.check.outputs.SHOULD_BUILD }}
|
|
if: needs.check.outputs.SHOULD_BUILD == 'yes'
|
|
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
ref: master
|
|
persist-credentials: false
|
|
|
|
- name: Setup Node.js environment
|
|
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
|
|
- name: Clone VSCode repo
|
|
run: . get_repo.sh
|
|
|
|
- name: Build
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: ./build.sh
|
|
|
|
- name: Import GPG key
|
|
uses: crazy-max/ghaction-import-gpg@2dc316deee8e90f13e1a351ab510b4d5bc0c82cd # v7.0.0
|
|
with:
|
|
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
|
passphrase: ${{ secrets.GPG_PASSPHRASE }}
|
|
git_user_signingkey: true
|
|
git_commit_gpgsign: true
|
|
if: github.event.inputs.dont_update != 'true'
|
|
|
|
- name: Update upstream version
|
|
run: ./update_upstream.sh
|
|
if: github.event.inputs.dont_update != 'true'
|
|
|
|
- name: Prepare source
|
|
run: ./prepare_src.sh
|
|
|
|
- name: Upload sourcemaps
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
|
GITHUB_USERNAME: ${{ github.repository_owner }}
|
|
run: ./upload_sourcemaps.sh
|
|
|
|
- name: Release source
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
|
GITHUB_USERNAME: ${{ github.repository_owner }}
|
|
run: ./release.sh
|
|
|
|
- name: Dispatch builds
|
|
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1
|
|
with:
|
|
event-type: publish-stable
|
|
if: github.event.inputs.dont_dispatch != 'true'
|