forked from apple/pkl-vscode
-
Notifications
You must be signed in to change notification settings - Fork 0
107 lines (107 loc) · 3.51 KB
/
release.yml
File metadata and controls
107 lines (107 loc) · 3.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Generated from Workflow.pkl. DO NOT EDIT.
name: Release
'on':
push:
branches-ignore:
- '**'
tags:
- '**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false
submodules: recursive
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version: 24.x
- name: Install emsdk
run: |-
git clone https://github.com/emscripten-core/emsdk
cd emsdk
./emsdk install 2.0.24
./emsdk activate 2.0.24
echo "${GITHUB_WORKSPACE}/emsdk" >> $GITHUB_PATH
echo "${GITHUB_WORKSPACE}/emsdk/upstream/emscripten" >> $GITHUB_PATH
- name: Set up Pkl
run: |-
mkdir /tmp/pkl
curl -L "https://github.com/apple/pkl/releases/download/0.30.0/pkl-linux-amd64" -o /tmp/pkl/pkl
chmod +x /tmp/pkl/pkl
echo '/tmp/pkl' >> $GITHUB_PATH
- run: npm ci
- run: npm run build
- run: npm test
- run: npm run lint
- run: npm run package-only
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5
with:
name: pkl-vscode-build-artifacts
path: .dist/vscode/*.*
test-format-license-headers:
name: hawkeye-check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || '' }}
persist-credentials: false
fetch-depth: 0
- run: git config --global --add safe.directory $(pwd)
- run: hawkeye check --config licenserc.toml --fail-if-unknown
container:
image: ghcr.io/korandoru/hawkeye@sha256:e0abf8dbfaeeeba1249679d662d9fb404b1dcdb041c6093ea1f7a6edb7d89319
deploy-github-release:
needs:
- build
- test-format-license-headers
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
with:
name: pkl-vscode-build-artifacts
path: .dist/vscode/
- name: Publish release to GitHub
env:
GH_TOKEN: ${{ github.token }}
GH_REPO: ${{ github.repository }}
run: |-
gh release create "${{ github.ref_name }}" \
--title "${{ github.ref_name }}" \
--target "${{ github.sha }}" \
--verify-tag \
--notes "Release notes: https://pkl-lang.org/vscode/current/changelog.html#release-${{ github.ref_name }}" \
.dist/vscode/*.vsix
trigger-downstream-builds:
if: github.repository_owner == 'apple'
needs:
- build
- test-format-license-headers
- deploy-github-release
runs-on: ubuntu-latest
steps:
- name: Create app token
id: app-token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2
with:
app-id: ${{ secrets.PKL_CI_CLIENT_ID }}
private-key: ${{ secrets.PKL_CI }}
owner: ${{ github.repository_owner }}
- name: Trigger pkl-lang.org build
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |-
gh workflow run \
--repo apple/pkl-lang.org \
--ref main \
--field source_run="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
main.yml