-
Notifications
You must be signed in to change notification settings - Fork 10
142 lines (139 loc) · 3.86 KB
/
Copy pathpostprocessing.yml
File metadata and controls
142 lines (139 loc) · 3.86 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
name: Post-processing
# don't limit to main branch
# consider maintenance branch
on:
push:
branches:
- 'release-branch.**'
- main
paths-ignore:
- '.github/**'
- LICENSE
- README.md
- '.gitignore'
concurrency:
group: ${{ github.head_ref || github.ref_name }}
cancel-in-progress: true
jobs:
release-binary-files:
strategy:
matrix:
os:
- macos-15-intel
- macos-latest
- ubuntu-latest
- ubuntu-24.04-arm
runs-on: ${{matrix.os}}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.23.x
- name: Set up Tool
run: go install -v github.com/goplus/llpkgstore/cmd/llpkgstore@latest
- name: Install dependencies
if: startsWith(matrix.os, 'macos')
run: |
brew update
brew install cmake conan cjson
- name: Install dependencies
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y cmake python3 python3-pip pkg-config
python3 -m pip install conan
- name: Set up Conan
run: conan profile detect
- name: Run release process
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: llpkgstore release
- name: Upload binary file to artifact
uses: actions/upload-artifact@v4
with:
name: ${{env.BIN_FILENAME}}
path: ${{env.BIN_PATH}}
retention-days: 1
post-processing:
runs-on: ubuntu-latest
needs: [release-binary-files]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: main
path: .main
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.23.x
- name: Set up Tool
run: go install -v github.com/goplus/llpkgstore/cmd/llpkgstore@latest
- name: Checkout to website
uses: actions/checkout@v4
with:
ref: website
path: .website
- name: Copy llpkgstore.json to root
continue-on-error: true
run: |
ls .website .website/public
cp .website/public/llpkgstore.json .main
rm -rf .website
- name: Run post-processing process
working-directory: .main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: llpkgstore postprocessing
- name: Checkout website branch
uses: actions/checkout@v4
with:
ref: website
path: .website
- name: Move llpkgstore.json to website
run: mv .main/llpkgstore.json .website/public
- name: Commit and push changes
working-directory: .website
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add public/llpkgstore.json
git commit -m "Update llpkgstore.json"
git push
build-and-upload:
runs-on: ubuntu-latest
needs: [post-processing]
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: website
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 23.8.0
- run: corepack enable
- name: Install Dependencies
uses: borales/actions-yarn@v4
with:
cmd: install
- name: Build
uses: borales/actions-yarn@v4
with:
cmd: build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: 'dist'
deploy:
needs: build-and-upload
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4