Skip to content

Commit b229868

Browse files
committed
update CI
1 parent 959da45 commit b229868

File tree

4 files changed

+284
-207
lines changed

4 files changed

+284
-207
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
name: Build and Release
2+
on:
3+
push:
4+
tags:
5+
- '**'
6+
branches:
7+
- '**'
8+
9+
jobs:
10+
build-and-release:
11+
permissions:
12+
contents: write
13+
discussions: write
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
- name: Set up Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: 22
24+
25+
- uses: pnpm/action-setup@v4
26+
27+
- name: Install dependencies and build
28+
run: |
29+
pnpm install
30+
pnpm run build
31+
32+
# - name: Auto Generate Documentation
33+
# run: |
34+
# pnpm run doc
35+
36+
# - name: Commit Documentation
37+
# run: |
38+
# git config --global user.email "github-actions[bot]@users.noreply.github.com"
39+
# git config --global user.name "GitHub Actions"
40+
# if [[ -n $(git status -s) ]]; then
41+
# git add README.md
42+
# git commit -m "Update Readme.md"
43+
# else
44+
# echo "No changes to commit"
45+
# fi
46+
47+
# - name: Push Documentation
48+
# uses: ad-m/github-push-action@master
49+
# with:
50+
# github_token: ${{ secrets.GITHUB_TOKEN }}
51+
# branch: main
52+
53+
# - name: Get last modified file
54+
# id: getfile
55+
# run: |
56+
# last_modified_file=$(ls -Art dist | tail -n 1)
57+
# echo "Last modified file: $last_modified_file"
58+
# echo "filename=$last_modified_file" >> $GITHUB_OUTPUT
59+
# version=$(echo $last_modified_file | sed -n 's/.*-\([0-9.]*\).c3addon/\1/p')
60+
# echo "Last modified file version: $version"
61+
# echo "version=$version" >> $GITHUB_OUTPUT
62+
63+
- name: Release
64+
uses: softprops/action-gh-release@v2
65+
if: startsWith(github.ref, 'refs/tags/')
66+
with:
67+
files: dist/**/*
68+
69+
# - name: Check if variables are set
70+
# id: check
71+
# run: |
72+
# publish=true
73+
# if [[ -z "${{ secrets.C3_AUTH_USER }}" ]]; then
74+
# echo "C3 AUTH_USER is not set. skip publishing."
75+
# publish=false
76+
# fi
77+
# if [[ -z "${{ secrets.C3_AUTH_PASSWORD }}" ]]; then
78+
# echo "C3 AUTH_PASSWORD is not set. skip publishing."
79+
# publish=false
80+
# fi
81+
# echo "publish=$publish" >> $GITHUB_OUTPUT
82+
83+
# - name: Install publish dependencies
84+
# if: steps.check.outputs.publish == 'true'
85+
# run: |
86+
# npm install -g c3addon
87+
88+
# - name: Get Addon Url
89+
# if: steps.check.outputs.publish == 'true'
90+
# id: url
91+
# run: |
92+
# url=$(grep -oP 'addonUrl:\s?"\K[^"]*' src/pluginConfig.js | cut -d '"' -f 1)
93+
# echo "Addon Url: $url"
94+
# if [[ -z "$url" ]]; then
95+
# echo "Addon Url is not set. skip publishing."
96+
# exit 1
97+
# fi
98+
# echo "url=$url" >> $GITHUB_OUTPUT
99+
100+
# - name: Publish to Construct 3
101+
# if: steps.check.outputs.publish == 'true'
102+
# run: |
103+
# c3addon publish \
104+
# --addonUrl '${{steps.url.outputs.url}}' \
105+
# --authUser ${{ secrets.C3_AUTH_USER }} \
106+
# --authPassword ${{ secrets.C3_AUTH_PASSWORD }} \
107+
# --uploadFile dist/${{ steps.getfile.outputs.filename }} \
108+
# --version ${{ steps.getfile.outputs.version }} \
109+
# --releaseNotes 'Released via GitHub Actions'

.github/workflows/apps-desktop.yml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: Electron Forge CI/CD
2+
3+
on:
4+
push:
5+
tags:
6+
- '**'
7+
branches:
8+
- '**'
9+
# pull_request:
10+
# branches: [main]
11+
# merge_group:
12+
13+
jobs:
14+
build-and-test:
15+
runs-on: ${{ matrix.os }}
16+
env:
17+
CI: true
18+
19+
strategy:
20+
matrix:
21+
os: [ubuntu-latest, windows-latest, macos-latest]
22+
23+
steps:
24+
- uses: actions/checkout@v4
25+
26+
- uses: pnpm/action-setup@v4
27+
name: Install pnpm
28+
with:
29+
run_install: false
30+
31+
- name: Use Node.js 22.5.1
32+
uses: actions/setup-node@v4
33+
with:
34+
node-version: '22.5.1'
35+
cache: 'pnpm'
36+
37+
- name: Set up Python 3.10
38+
uses: actions/setup-python@v5
39+
with:
40+
python-version: '3.10'
41+
42+
- name: Install dependencies
43+
run: pnpm install
44+
45+
- name: Build app deps
46+
run: pnpm turbo run build --filter=...@pipelab/app^
47+
48+
- name: Package application
49+
env:
50+
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
51+
SUPABASE_URL: ${{ secrets.SUPABASE_URL }}
52+
SUPABASE_ANON_KEY: ${{ secrets.SUPABASE_ANON_KEY }}
53+
SUPABASE_PROJECT_ID: ${{ secrets.SUPABASE_PROJECT_ID }}
54+
run: pnpm electron-forge publish --dry-run
55+
56+
- name: Run tests
57+
uses: coactions/setup-xvfb@v1
58+
with:
59+
run: pnpm test:e2e:raw
60+
61+
- name: Upload Playwright artifacts
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: ${{ matrix.os }}-playwright
65+
path: playwright/**/*
66+
67+
- name: Upload artifacts
68+
if: success()
69+
uses: actions/upload-artifact@v4
70+
with:
71+
name: ${{ matrix.os }}-out
72+
path: out/**/*
73+
74+
release:
75+
permissions:
76+
contents: write
77+
discussions: write
78+
needs: build-and-test
79+
runs-on: ${{ matrix.os }}
80+
81+
strategy:
82+
matrix:
83+
os: [ubuntu-latest, windows-latest, macos-latest]
84+
if: startsWith(github.ref, 'refs/tags/')
85+
86+
steps:
87+
- uses: actions/checkout@v4
88+
89+
- name: Download artifacts
90+
uses: actions/download-artifact@v4
91+
with:
92+
name: ${{ matrix.os }}-out
93+
path: out
94+
95+
- uses: pnpm/action-setup@v4
96+
name: Install pnpm
97+
with:
98+
run_install: false
99+
100+
- name: Use Node.js 22.5.1
101+
uses: actions/setup-node@v4
102+
with:
103+
node-version: '22.5.1'
104+
cache: 'pnpm'
105+
106+
- name: Install dependencies
107+
run: pnpm install --prod=false
108+
109+
- name: Publish release
110+
env:
111+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
112+
run: pnpm electron-forge publish --from-dry-run

.github/workflows/lib-core.yml

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Node.js Package to npm and gpr
2+
3+
# trigger when a release is created
4+
on:
5+
push:
6+
tags:
7+
- "**"
8+
branches:
9+
- "**"
10+
11+
jobs:
12+
build:
13+
permissions:
14+
contents: read
15+
id-token: write
16+
packages: write
17+
attestations: write
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- uses: actions/setup-node@v4
22+
with:
23+
node-version: "22.x"
24+
- uses: pnpm/action-setup@v4
25+
- run: pnpm install
26+
- run: pnpm test
27+
28+
# publish to npm
29+
publish-npm:
30+
needs: build
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@v4
34+
- uses: actions/setup-node@v4
35+
with:
36+
node-version: "22.x"
37+
registry-url: https://registry.npmjs.org/
38+
- uses: pnpm/action-setup@v4
39+
- run: pnpm npm install
40+
- run: pnpm npm run build
41+
# - run: pnpm npm run test
42+
- run: pnpm npm publish
43+
if: github.ref == 'refs/tags/v*'
44+
env:
45+
NODE_AUTH_TOKEN: ${{secrets.PUBLISH_NPM_TOKEN}}
46+
47+
# publish to gpr
48+
# publish-gpr:
49+
# needs: build
50+
# runs-on: ubuntu-latest
51+
# steps:
52+
# - uses: actions/checkout@v4
53+
# - uses: actions/setup-node@v4
54+
# with:
55+
# node-version: "22.x"
56+
# registry-url: https://npm.pkg.github.com/
57+
# scope: "@cyn"
58+
# - uses: pnpm/action-setup@v4
59+
# - run: pnpm install
60+
# - run: pnpm run build
61+
# - run: pnpm publish
62+
# env:
63+
# NODE_AUTH_TOKEN: ${{secrets.PUBLISH_GITHUB_TOKEN}}

0 commit comments

Comments
 (0)