Skip to content

Commit 2712a79

Browse files
committed
[Infra] publish iOS SDK 3.9.0
1 parent d7f1348 commit 2712a79

1 file changed

Lines changed: 21 additions & 348 deletions

File tree

.github/workflows/publish-release.yml

Lines changed: 21 additions & 348 deletions
Original file line numberDiff line numberDiff line change
@@ -39,135 +39,6 @@ jobs:
3939
exit 1
4040
fi
4141
42-
android-explorer-build:
43-
timeout-minutes: 60
44-
runs-on: lynx-ubuntu-22.04-large
45-
needs: get-version
46-
steps:
47-
- name: Download Source
48-
uses: actions/checkout@v4.2.2
49-
with:
50-
path: lynx
51-
ref: ${{ github.event.inputs.commitId || github.ref }}
52-
fetch-depth: 0
53-
- name: Build Explorer App
54-
uses: ./lynx/.github/actions/android-explorer-build
55-
with:
56-
abi-list: armeabi-v7a,x86,x86_64,arm64-v8a
57-
- name: push to release
58-
uses: ncipollo/release-action@v1
59-
with:
60-
tag: ${{ needs.get-version.outputs.version }}
61-
token: ${{ secrets.GITHUB_TOKEN }}
62-
artifacts: '${{ github.workspace }}/lynx/explorer/android/lynx_explorer/build/outputs/apk/noasan/release/LynxExplorer-noasan-release.apk'
63-
allowUpdates: true
64-
body: ''
65-
66-
ios-explorer-build:
67-
timeout-minutes: 60
68-
runs-on: lynx-darwin-14-medium
69-
needs: get-version
70-
strategy:
71-
matrix:
72-
arch: [arm64, x86_64]
73-
steps:
74-
- name: Download Source
75-
uses: actions/checkout@v4.2.2
76-
with:
77-
path: lynx
78-
ref: ${{ github.event.inputs.commitId || github.ref }}
79-
fetch-depth: 0
80-
- name: Build Explorer App
81-
uses: ./lynx/.github/actions/ios-explorer-build
82-
with:
83-
build-arch: ${{ matrix.arch }}
84-
- name: push explorer to release
85-
uses: ncipollo/release-action@v1
86-
with:
87-
tag: ${{ needs.get-version.outputs.version }}
88-
token: ${{ secrets.GITHUB_TOKEN }}
89-
artifacts: '${{ github.workspace }}/lynx/LynxExplorer-${{ matrix.arch }}.app.tar.gz'
90-
allowUpdates: true
91-
body: ''
92-
93-
harmony-explorer-build:
94-
runs-on: lynx-custom-container
95-
container:
96-
image: ghcr.io/lynx-family/ubuntu24.04-harmony@sha256:bf493c3710de3c44bfa84caf402c0727b9310c42497f6e52580ad441ea640ef1
97-
credentials:
98-
username: lynx-family
99-
password: ${{ secrets.GITHUB_TOKEN }}
100-
needs: get-version
101-
defaults:
102-
run:
103-
working-directory: ${{ github.workspace }}
104-
shell: bash
105-
steps:
106-
- name: Download Source
107-
uses: actions/checkout@v4.2.2
108-
with:
109-
path: lynx
110-
ref: ${{ github.event.inputs.commitId || github.ref }}
111-
fetch-depth: 0
112-
- name: Build Explorer App
113-
uses: ./lynx/.github/actions/harmony-explorer-build
114-
- name: push explorer to release
115-
uses: ncipollo/release-action@v1
116-
with:
117-
tag: ${{ needs.get-version.outputs.version }}
118-
token: ${{ secrets.GITHUB_TOKEN }}
119-
artifacts: '${{ github.workspace }}/lynx/explorer/harmony/lynx_explorer/build/default/outputs/default/lynx_explorer-default-unsigned.hap'
120-
allowUpdates: true
121-
body: ''
122-
123-
android-sdk-release:
124-
runs-on: ubuntu-22.04
125-
needs: get-version
126-
timeout-minutes: 240
127-
steps:
128-
- name: Download Source
129-
uses: actions/checkout@v4.2.2
130-
with:
131-
path: lynx
132-
ref: ${{ github.event.inputs.commitId || github.ref }}
133-
fetch-depth: 0
134-
- name: Free up disk space
135-
uses: ./lynx/.github/actions/free-android-disk
136-
- name: Python Setup
137-
uses: actions/setup-python@v5
138-
with:
139-
python-version: '3.13'
140-
- name: Setup Android environment
141-
uses: ./lynx/.github/actions/setup-android-env
142-
- name: Install Common Dependencies
143-
uses: ./lynx/.github/actions/common-deps
144-
with:
145-
cache-backend: 'github'
146-
- name: Android SDK Release
147-
uses: ./lynx/.github/actions/android-sdk-release
148-
with:
149-
version: ${{ needs.get-version.outputs.version }}
150-
signingKeyId: ${{ secrets.SIGNING_KEY_ID }}
151-
signingPassword: ${{ secrets.SIGNING_PASSWORD }}
152-
signingSecretKey: ${{ secrets.SIGNING_SECRET_KEY }}
153-
abiList: 'armeabi-v7a,x86,x86_64,arm64-v8a'
154-
- name: Package maven artifacts
155-
run: |-
156-
cd $GITHUB_WORKSPACE/lynx
157-
pushd platform/android
158-
./gradlew zipArtifacts -Pversion=${{ needs.get-version.outputs.version }} getArtifactList
159-
popd
160-
pushd platform/android/build
161-
artifact_list=$(<artifact-list)
162-
echo "::set-output name=artifact_list::$artifact_list"
163-
popd
164-
id: build_artifact
165-
- name: Publish artifact to maven
166-
uses: lynx-infra/maven-publish-action@53b4da2f23f9cfc4e905b135eda2724fcf5a0f0e
167-
with:
168-
portal_api_token: ${{ secrets.PORTAL_API_TOKEN }}
169-
artifact_path_list: ${{ steps.build_artifact.outputs.artifact_list }}
170-
17142
ios-sdk-publish:
17243
timeout-minutes: 60
17344
runs-on: macos-14
@@ -195,14 +66,16 @@ jobs:
19566
uses: ./lynx/.github/actions/ios-common-deps
19667
with:
19768
cache-backend: 'github'
198-
- name: Publish iOS SDK
69+
- name: Publish iOS dev SDK
19970
uses: ./lynx/.github/actions/ios-sdk-publish
71+
env:
72+
LYNX_ENABLE_RECORDER: 1
20073
with:
201-
version: ${{ needs.get-version.outputs.version }}
74+
version: ${{ needs.get-version.outputs.version }}-dev
20275
tag: ${{ needs.get-version.outputs.version }}
20376
cocoapods_trunk_token: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
20477
github_token: ${{ secrets.GITHUB_TOKEN }}
205-
component: all
78+
component: BaseDevtool
20679
- name: Publish iOS dev SDK
20780
uses: ./lynx/.github/actions/ios-sdk-publish
20881
env:
@@ -212,224 +85,24 @@ jobs:
21285
tag: ${{ needs.get-version.outputs.version }}
21386
cocoapods_trunk_token: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
21487
github_token: ${{ secrets.GITHUB_TOKEN }}
215-
component: all
216-
217-
cocoapods-lynx-library-publish:
218-
timeout-minutes: 30
219-
runs-on: ubuntu-22.04
220-
needs: get-version
221-
environment: rubygems
222-
permissions:
223-
contents: read
224-
steps:
225-
- name: Download Source
226-
uses: actions/checkout@v4.2.2
227-
with:
228-
ref: ${{ github.event.inputs.commitId || github.ref }}
229-
fetch-depth: 0
230-
path: lynx
231-
- name: Set up Ruby
232-
uses: ruby/setup-ruby@v1
233-
with:
234-
ruby-version: '3.1'
235-
- name: Resolve gem version
236-
id: gem_version
237-
env:
238-
RELEASE_VERSION: ${{ needs.get-version.outputs.version }}
239-
run: |-
240-
gem_version=$(ruby -e "puts Gem::Version.new(ENV.fetch('RELEASE_VERSION')).to_s")
241-
echo "Gem version: $gem_version"
242-
echo "version=$gem_version" >> "$GITHUB_OUTPUT"
243-
- name: Check published version
244-
id: published_version
245-
run: |-
246-
versions=$(gem list --remote --exact --all cocoapods-lynx-library || true)
247-
echo "Published versions: ${versions:-none}"
248-
if echo "$versions" | tr '(), ' '\n' | grep -Fx "${{ steps.gem_version.outputs.version }}" > /dev/null; then
249-
echo "publish_needed=false" >> "$GITHUB_OUTPUT"
250-
else
251-
echo "publish_needed=true" >> "$GITHUB_OUTPUT"
252-
fi
253-
- name: Test
254-
run: |-
255-
cd $GITHUB_WORKSPACE/lynx/tools/ios_tools/cocoapods-lynx-library
256-
ruby -Itest test/autolink_test.rb
257-
- name: Build
258-
id: build_gem
259-
env:
260-
GEM_VERSION: ${{ steps.gem_version.outputs.version }}
261-
run: |-
262-
cd $GITHUB_WORKSPACE/lynx/tools/ios_tools/cocoapods-lynx-library
263-
ruby <<'RUBY'
264-
path = 'cocoapods-lynx-library.gemspec'
265-
version = ENV.fetch('GEM_VERSION')
266-
content = File.read(path)
267-
updated = content.sub(/spec\.version\s*=\s*['"][^'"]+['"]/, "spec.version = '#{version}'")
268-
abort "Unable to update #{path} version" if updated == content
269-
File.write(path, updated)
270-
RUBY
271-
gem build cocoapods-lynx-library.gemspec | tee gem-build.log
272-
gem_file=$(awk -F': ' '/File:/ {print $2}' gem-build.log | tail -n 1)
273-
echo "gem_file=$gem_file" >> "$GITHUB_OUTPUT"
274-
ruby -rrubygems/package -e 'spec = Gem::Package.new(ARGV.fetch(0)).spec; puts "#{spec.name} #{spec.version}"; puts spec.summary' "$gem_file"
275-
- name: Upload gem artifact
276-
uses: actions/upload-artifact@v4
277-
with:
278-
name: cocoapods-lynx-library-${{ steps.gem_version.outputs.version }}
279-
path: lynx/tools/ios_tools/cocoapods-lynx-library/${{ steps.build_gem.outputs.gem_file }}
280-
- name: Publish CocoaPods plugin
281-
if: steps.published_version.outputs.publish_needed == 'true'
88+
component: LynxDevtool
89+
- name: Publish iOS dev SDK
90+
uses: ./lynx/.github/actions/ios-sdk-publish
28291
env:
283-
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
284-
run: |-
285-
cd $GITHUB_WORKSPACE/lynx/tools/ios_tools/cocoapods-lynx-library
286-
if [ -z "$GEM_HOST_API_KEY" ]; then
287-
echo "RUBYGEMS_API_KEY is required to publish cocoapods-lynx-library."
288-
exit 1
289-
fi
290-
gem push "${{ steps.build_gem.outputs.gem_file }}"
291-
292-
harmony-sdk-publish:
293-
name: Publish Harmony SDK (${{ matrix.label }})
294-
runs-on: lynx-custom-container
295-
container:
296-
image: ghcr.io/lynx-family/ubuntu24.04-harmony@sha256:25913874dad0557526b44f9c9ab30b9873080009db85bb569d718d2bb5f0e074
297-
credentials:
298-
username: lynx-family
299-
password: ${{ secrets.GITHUB_TOKEN }}
300-
defaults:
301-
run:
302-
shell: bash
303-
needs: get-version
304-
strategy:
305-
matrix:
306-
include:
307-
- version_suffix: ''
308-
modules: 'default'
309-
build_param: ''
310-
label: 'formal'
311-
- version_suffix: '-dev'
312-
modules: 'lynx lynx_devtool lynx_base'
313-
build_param: '--dev'
314-
label: 'dev'
315-
steps:
316-
- name: Install Rust toolchain
317-
uses: actions-rs/toolchain@v1
318-
with:
319-
toolchain: stable
320-
profile: minimal
321-
override: true
322-
- name: Install git-cliff
323-
run: |
324-
cargo install git-cliff --locked
325-
git-cliff --version
326-
- name: Download Source
327-
uses: actions/checkout@v4.2.2
328-
with:
329-
path: lynx
330-
fetch-depth: 0
331-
fetch-tags: true
332-
ref: ${{ github.event.inputs.commitId || github.ref }}
333-
- name: Get latest tag
334-
id: get-latest-tag
335-
uses: ./lynx/.github/actions/get-latest-tag
336-
with:
337-
current-tag: ${{ needs.get-version.outputs.version }}
338-
- name: Install Common Dependencies
339-
uses: ./lynx/.github/actions/common-deps
340-
with:
341-
cache-key-prefix: '-container'
342-
- name: Generate Change Log
343-
run: |
344-
cd $GITHUB_WORKSPACE/lynx
345-
source tools/envsetup.sh
346-
COMMIT_ID=$(git rev-list -n 1 ${{ steps.get-latest-tag.outputs.latest-tag }})
347-
python3 explorer/harmony/script/generate_changelog.py --version ${{ needs.get-version.outputs.version }}${{ matrix.version_suffix }} --modules ${{ matrix.modules }} --base_commit $COMMIT_ID
348-
- name: Build Harmony SDK
349-
run: |
350-
cd $GITHUB_WORKSPACE/lynx
351-
source tools/envsetup.sh
352-
pushd platform/harmony && ohpm install && popd
353-
pushd explorer/harmony && ohpm install && popd
354-
python3 explorer/harmony/script/build.py ${{ matrix.build_param }} --build_lynx_core --build_har --modules ${{ matrix.modules }} --override_version ${{ needs.get-version.outputs.version }}${{ matrix.version_suffix }}
355-
- name: Publish Harmony SDK
356-
run: |
357-
cd $GITHUB_WORKSPACE/lynx
358-
source tools/envsetup.sh
359-
export PUBLISH_KEY_PASSPHRASE=${{ secrets.HARMONY_PUBLISH_KEY_PASSPHRASE }}
360-
cat << EOF > publish_key
361-
${{ secrets.HARMONY_PUBLISH_KEY }}
362-
EOF
363-
ohpm config set publish_registry https://ohpm.openharmony.cn/ohpm
364-
export PUBLISH_ID=${{ secrets.HARMONY_PUBLISH_ID }}
365-
export KEY_PATH=$GITHUB_WORKSPACE/lynx/publish_key
366-
python3 explorer/harmony/script/publish.py --modules ${{ matrix.modules }} --version ${{ needs.get-version.outputs.version }}${{ matrix.version_suffix }}
367-
368-
macos-explorer-release:
369-
timeout-minutes: 60
370-
runs-on: lynx-darwin-14-medium
371-
needs: get-version
372-
strategy:
373-
matrix:
374-
arch: [arm64, x64]
375-
steps:
376-
- name: Download Source
377-
uses: actions/checkout@v4.2.2
378-
with:
379-
path: lynx
380-
ref: ${{ github.event.inputs.commitId || github.ref }}
381-
fetch-depth: 0
382-
- name: Build macOS Explorer
383-
uses: ./lynx/.github/actions/macos-explorer-build
384-
with:
385-
build-arch: ${{ matrix.arch }}
386-
- name: push explorer to release
387-
uses: ncipollo/release-action@v1
92+
LYNX_ENABLE_RECORDER: 1
38893
with:
94+
version: ${{ needs.get-version.outputs.version }}-dev
38995
tag: ${{ needs.get-version.outputs.version }}
390-
token: ${{ secrets.GITHUB_TOKEN }}
391-
artifacts: '${{ github.workspace }}/lynx/LynxExplorer-macos-${{ matrix.arch }}.app.tar.gz,${{ github.workspace }}/lynx/out/Default/lynx_sdk_macos_${{ matrix.arch }}.zip'
392-
allowUpdates: true
393-
body: ''
394-
395-
windows-explorer-release:
396-
timeout-minutes: 60
397-
runs-on: lynx-windows-2022-large
398-
needs: get-version
399-
strategy:
400-
matrix:
401-
arch: [x86, x64]
402-
steps:
403-
- name: Configure Git
404-
shell: PowerShell
405-
run: |
406-
git config --global core.autocrlf false
407-
git config --global core.eol lf
408-
git config --global http.sslBackend "schannel"
409-
working-directory: ./
410-
- name: Download Source
411-
uses: actions/checkout@v4.2.2
412-
with:
413-
path: lynx
414-
ref: ${{ github.event.inputs.commitId || github.ref }}
415-
fetch-depth: 0
416-
- name: Python Setup
417-
uses: actions/setup-python@v5
418-
with:
419-
python-version: '3.13'
420-
- name: Install Common Dependencies
421-
uses: ./lynx/.github/actions/windows-common-deps
422-
with:
423-
target: 'clay'
424-
- name: Build windows Explorer
425-
uses: ./lynx/.github/actions/windows-explorer-build
426-
with:
427-
build-arch: ${{ matrix.arch }}
428-
- name: push explorer to release
429-
uses: ncipollo/release-action@v1
96+
cocoapods_trunk_token: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
97+
github_token: ${{ secrets.GITHUB_TOKEN }}
98+
component: LynxService
99+
- name: Publish iOS dev SDK
100+
uses: ./lynx/.github/actions/ios-sdk-publish
101+
env:
102+
LYNX_ENABLE_RECORDER: 1
430103
with:
104+
version: ${{ needs.get-version.outputs.version }}-dev
431105
tag: ${{ needs.get-version.outputs.version }}
432-
token: ${{ secrets.GITHUB_TOKEN }}
433-
artifacts: '${{ github.workspace }}/lynx/LynxExplorer-windows-${{ matrix.arch }}.tar.gz,${{ github.workspace }}/lynx/out/Default/lynx_sdk_windows_${{ matrix.arch }}.zip'
434-
allowUpdates: true
435-
body: ''
106+
cocoapods_trunk_token: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
107+
github_token: ${{ secrets.GITHUB_TOKEN }}
108+
component: XElement

0 commit comments

Comments
 (0)