Develop #2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish new version | |
on: | |
pull_request: | |
types: | |
- closed | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
cli_build_macos_precompiled_libs: | |
if: github.event.pull_request.merged == true | |
name: macOS precompiled libraries | |
runs-on: [ self-hosted, macOS ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Switch to SSH | |
run: git remote set-url origin git@github.com:landamessenger/zstandard.git | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- name: Download source files from facebook/zstd | |
run: | | |
cd zstandard_cli | |
git clone https://github.com/facebook/zstd.git | |
mkdir src | |
mv zstd/lib/* src/ | |
rm -rf zstd/ | |
- name: List files in zstd/lib to verify | |
run: cd zstandard_cli && ls -R src | |
- name: Compile x86-x64 macos lib | |
run: | | |
cd zstandard_cli/builders/macos_intel | |
mkdir build && cd build | |
cmake .. | |
cmake --build . --config Release | |
mv libzstandard_macos.dylib ../../../lib/src/bin/libzstandard_macos_intel.dylib | |
cd .. | |
rm -rf build | |
- name: Compile arm64 macos lib | |
run: | | |
cd zstandard_cli/builders/macos_arm | |
mkdir build && cd build | |
cmake -DCMAKE_OSX_ARCHITECTURES=arm64 .. | |
cmake --build . --config Release | |
mv libzstandard_macos.dylib ../../../lib/src/bin/libzstandard_macos_arm.dylib | |
cd .. | |
rm -rf build | |
- name: Join libs | |
run: | | |
cd zstandard_cli/lib/src/bin | |
lipo -create -output libzstandard_macos.dylib libzstandard_macos_intel.dylib libzstandard_macos_arm.dylib | |
rm libzstandard_macos_arm.dylib | |
rm libzstandard_macos_intel.dylib | |
- name: Verify libs | |
run: | | |
cd zstandard_cli/lib/src/bin | |
lipo -info libzstandard_macos.dylib | |
- name: Git pull --no-ff | |
run: | | |
git pull --no-ff origin master | |
- name: Commit and Push Library | |
uses: EndBug/add-and-commit@v9 | |
with: | |
add: './zstandard_cli/lib/src/bin/libzstandard_macos.dylib' | |
committer_name: GitHub Actions | |
committer_email: actions@github.com | |
default_author: user_info | |
message: 'gh-action: Add precompiled macOS libraries for x86_64 and arm64' | |
cli_build_linux_precompiled_libs: | |
if: github.event.pull_request.merged == true | |
name: Linux precompiled libraries | |
runs-on: [ self-hosted, Linux ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Switch to SSH | |
run: git remote set-url origin git@github.com:landamessenger/zstandard.git | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- name: Download source files from facebook/zstd | |
run: | | |
cd zstandard_cli | |
git clone https://github.com/facebook/zstd.git | |
mkdir src | |
mv zstd/lib/* src/ | |
rm -rf zstd/ | |
- name: List files in zstd/lib to verify | |
run: cd zstandard_cli && ls -R src | |
- name: Compile x86_64 Linux lib | |
run: | | |
cd zstandard_cli/builders/linux_x64 | |
mkdir build && cd build | |
cmake .. | |
cmake --build . --config Release | |
mv libzstandard_linux.so ../../../lib/src/bin/libzstandard_linux_x64.so | |
cd .. | |
rm -rf build | |
- name: Compile arm64 Linux lib | |
run: | | |
cd zstandard_cli/builders/linux_arm | |
mkdir build && cd build | |
cmake -DCMAKE_TOOLCHAIN_FILE=../arm64-toolchain.cmake .. | |
cmake --build . --config Release | |
mv libzstandard_linux.so ../../../lib/src/bin/libzstandard_linux_arm64.so | |
cd .. | |
rm -rf build | |
- name: Verify Linux libs | |
run: | | |
cd zstandard_cli/lib/src/bin | |
file libzstandard_linux_x64.so | |
file libzstandard_linux_arm64.so | |
- name: Git pull --no-ff | |
run: | | |
git pull --no-ff origin master | |
- name: Commit and Push Library | |
uses: EndBug/add-and-commit@v9 | |
with: | |
add: './zstandard_cli/lib/src/bin/' | |
committer_name: GitHub Actions | |
committer_email: actions@github.com | |
default_author: user_info | |
message: 'gh-action: Add precompiled Linux libraries for x86_64 and arm64' | |
cli_build_windows_precompiled_libs: | |
if: github.event.pull_request.merged == true | |
name: Windows precompiled libraries | |
runs-on: [ self-hosted, Windows ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Switch to SSH | |
shell: cmd | |
run: git remote set-url origin git@github.com:landamessenger/zstandard.git | |
- name: Install Landa Messenger CLI | |
shell: cmd | |
run: npm install -g @landamessenger/landa-messenger-api | |
- name: Download source files from facebook/zstd | |
shell: cmd | |
run: | | |
cd zstandard_cli | |
git clone https://github.com/facebook/zstd.git | |
mkdir src | |
xcopy zstd\lib src\ /E /I | |
rmdir /S /Q zstd | |
- name: List files in zstd/lib to verify | |
shell: cmd | |
run: dir zstandard_cli\src /S | |
- name: Compile x86_64 Windows lib | |
shell: cmd | |
run: | | |
cd zstandard_cli/builders/windows_x64 | |
mkdir build && cd build | |
cmake -G "Visual Studio 17 2022" -A x64 .. | |
cmake --build . --config Release | |
cd Release | |
move zstandard_windows.dll ..\..\..\..\lib\src\bin\zstandard_windows_x64.dll | |
cd .. | |
cd .. | |
rmdir /S /Q build | |
- name: Compile arm64 Windows lib | |
shell: cmd | |
run: | | |
cd zstandard_cli/builders/windows_arm | |
mkdir build && cd build | |
cmake -G "Visual Studio 17 2022" -A ARM64 .. | |
cmake --build . --config Release | |
cd Release | |
move zstandard_windows.dll ..\..\..\..\lib\src\bin\zstandard_windows_arm64.dll | |
cd .. | |
cd .. | |
rmdir /S /Q build | |
- name: Verify Windows libs architecture | |
shell: cmd | |
run: | | |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 | |
dumpbin /headers zstandard_cli/lib/src/bin/zstandard_windows_x64.dll | findstr /c:"machine" | |
dumpbin /headers zstandard_cli/lib/src/bin/zstandard_windows_arm64.dll | findstr /c:"machine" | |
- name: Git pull --no-ff | |
shell: cmd | |
run: | | |
git pull --no-ff origin master | |
- name: Commit and Push Library | |
uses: EndBug/add-and-commit@v9 | |
with: | |
add: './zstandard_cli/lib/src/bin/' | |
committer_name: GitHub Actions | |
committer_email: actions@github.com | |
default_author: user_info | |
message: 'gh-action: Add precompiled Windows libraries for x86_64 and arm64' | |
update_files: | |
if: github.event.pull_request.merged == true | |
name: Update files job | |
runs-on: [ self-hosted, macOS ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Switch to SSH | |
run: git remote set-url origin git@github.com:landamessenger/zstandard.git | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- name: Read version from pubspec.yml | |
working-directory: zstandard_platform_interface | |
id: read_version | |
run: | | |
VERSION=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2) | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
- name: Pre check tag | |
id: pre_check_tag | |
run: | | |
# Checks if the tag already exists in the remote repository | |
if git rev-parse "v${{ env.VERSION }}" >/dev/null 2>&1; then | |
echo "Error: Tag v${{ env.VERSION }} already exists." | |
exit 1 | |
fi | |
# Check if the version was found | |
if [ -z "${{ env.VERSION }}" ]; then | |
echo "Error: No version found in pubspec.yml" | |
exit 1 | |
fi | |
- name: Copy CHANGELOG.md | |
run: | | |
cp CHANGELOG.md "zstandard_platform_interface/CHANGELOG.md" | |
cp CHANGELOG.md "zstandard_android/CHANGELOG.md" | |
cp CHANGELOG.md "zstandard_ios/CHANGELOG.md" | |
cp CHANGELOG.md "zstandard_macos/CHANGELOG.md" | |
cp CHANGELOG.md "zstandard_windows/CHANGELOG.md" | |
cp CHANGELOG.md "zstandard_linux/CHANGELOG.md" | |
cp CHANGELOG.md "zstandard_web/CHANGELOG.md" | |
cp CHANGELOG.md "zstandard_cli/CHANGELOG.md" | |
cp CHANGELOG.md "zstandard/CHANGELOG.md" | |
- name: Update version in zstandard_android pubspec.yaml | |
working-directory: zstandard_android | |
run: | | |
sed -i '' "s/^version:.*/version: ${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_platform_interface: .*/ zstandard_platform_interface: ^${{ env.VERSION }}/" pubspec.yaml | |
- name: Update version in zstandard_ios pubspec.yaml | |
working-directory: zstandard_ios | |
run: | | |
sed -i '' "s/^version:.*/version: ${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_platform_interface: .*/ zstandard_platform_interface: ^${{ env.VERSION }}/" pubspec.yaml | |
- name: Update version in zstandard_macos pubspec.yaml | |
working-directory: zstandard_macos | |
run: | | |
sed -i '' "s/^version:.*/version: ${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_platform_interface: .*/ zstandard_platform_interface: ^${{ env.VERSION }}/" pubspec.yaml | |
- name: Update version in zstandard_linux pubspec.yaml | |
working-directory: zstandard_linux | |
run: | | |
sed -i '' "s/^version:.*/version: ${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_platform_interface: .*/ zstandard_platform_interface: ^${{ env.VERSION }}/" pubspec.yaml | |
- name: Update version in zstandard_windows pubspec.yaml | |
working-directory: zstandard_windows | |
run: | | |
sed -i '' "s/^version:.*/version: ${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_platform_interface: .*/ zstandard_platform_interface: ^${{ env.VERSION }}/" pubspec.yaml | |
- name: Update version in zstandard_web pubspec.yaml | |
working-directory: zstandard_web | |
run: | | |
sed -i '' "s/^version:.*/version: ${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_platform_interface: .*/ zstandard_platform_interface: ^${{ env.VERSION }}/" pubspec.yaml | |
- name: Update version in zstandard pubspec.yaml | |
working-directory: zstandard | |
run: | | |
sed -i '' "s/^version:.*/version: ${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_platform_interface: .*/ zstandard_platform_interface: ^${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_android: .*/ zstandard_android: ^${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_ios: .*/ zstandard_ios: ^${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_web: .*/ zstandard_web: ^${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_macos: .*/ zstandard_macos: ^${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_windows: .*/ zstandard_windows: ^${{ env.VERSION }}/" pubspec.yaml | |
sed -i '' "s/^ zstandard_linux: .*/ zstandard_linux: ^${{ env.VERSION }}/" pubspec.yaml | |
- name: Update version in zstandard_cli pubspec.yaml | |
working-directory: zstandard_cli | |
run: | | |
sed -i '' "s/^version:.*/version: ${{ env.VERSION }}/" pubspec.yaml | |
- name: Git pull --no-ff | |
run: | | |
git pull --no-ff origin master | |
- name: Commit and Push version updates | |
uses: EndBug/add-and-commit@v9 | |
with: | |
add: '.' | |
committer_name: GitHub Actions | |
committer_email: actions@github.com | |
default_author: user_info | |
message: 'gh-action: Bump dependencies version to ${{ env.VERSION }}' | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Update files Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/object/actions/workflows/update_files.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Update files Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/object/actions/workflows/update_files.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Update files Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/object/actions/workflows/update_files.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
tag_version: | |
name: Tag version and create release | |
runs-on: [self-hosted, macOS] | |
needs: [ cli_build_macos_precompiled_libs, cli_build_linux_precompiled_libs, cli_build_windows_precompiled_libs, update_files ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- name: Read version from pubspec.yml | |
working-directory: zstandard_platform_interface | |
id: read_version | |
run: | | |
VERSION=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2) | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
- name: Create tag | |
id: create_tag | |
run: | | |
# Checks if the tag already exists in the remote repository | |
if git rev-parse "v${{ env.VERSION }}" >/dev/null 2>&1; then | |
echo "Error: Tag v${{ env.VERSION }} already exists." | |
exit 1 | |
fi | |
# Check if the version was found | |
if [ -z "${{ env.VERSION }}" ]; then | |
echo "Error: No version found in pubspec.yml" | |
exit 1 | |
fi | |
git tag "v${{ env.VERSION }}" | |
git push origin "v${{ env.VERSION }}" | |
- name: Create release | |
if: ${{ steps.create_tag.outcome == 'success' }} | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
name: "${{ github.event.pull_request.title }}" | |
body: "${{ github.event.pull_request.body }}" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Creation Tag Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Creation Tag Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Creation Tag Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
platform_interface_analyze: | |
name: Analyze Platform Interface | |
runs-on: [self-hosted, macOS] | |
needs: tag_version | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_platform_interface | |
run: flutter pub get | |
- name: Analyze check | |
working-directory: zstandard_platform_interface | |
run: flutter analyze | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Analyze - Platform Interface Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Analyze - Platform Interface Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Analyze - Platform Interface Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
platform_interface_test: | |
name: Test Platform Interface | |
runs-on: [self-hosted, macOS] | |
needs: tag_version | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_platform_interface | |
run: flutter pub get | |
- name: Test check | |
working-directory: zstandard_platform_interface | |
run: flutter test | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Test - Platform Interface Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Test - Platform Interface Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Test - Platform Interface Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
platform_interface_publish_dry_run: | |
name: Dry Run Publish Platform Interface | |
runs-on: [self-hosted, macOS] | |
needs: tag_version | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_platform_interface | |
run: flutter pub get | |
- name: Publish Dry Run | |
working-directory: zstandard_platform_interface | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Platform Interface Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Platform Interface Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Platform Interface Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
platform_interface_publish: | |
name: Publish Platform Interface | |
runs-on: [self-hosted, macOS] | |
needs: [platform_interface_analyze, platform_interface_test, platform_interface_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_platform_interface | |
run: flutter pub get | |
- name: Publish | |
working-directory: zstandard_platform_interface | |
run: dart pub publish -f | |
- name: Compress folder | |
run: zip -r zstandard_platform_interface.zip ./zstandard_platform_interface | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard_platform_interface.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Wait for dependency to be available | |
uses: nick-fields/retry@v3 | |
with: | |
timeout_minutes: 120 | |
max_attempts: 200 | |
command: cd zstandard_android && flutter pub get | |
on_retry_command: | | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Retry getting dependencies" \ | |
--body "Getting dependencies. It could take a while.." \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#FFFFFFFF" \ | |
--text_color "#DD000000" | |
- name: Wait a minute | |
run: sleep 120 | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Platform Interface Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Platform Interface Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Platform Interface Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
android_analyze: | |
name: Analyze Android | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_android | |
run: flutter pub get | |
- name: Analyze check | |
working-directory: zstandard_android | |
run: flutter analyze | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Analyze - Android Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Analyze - Android Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Analyze - Android Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
android_test: | |
name: Test Android | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_android | |
run: flutter pub get | |
- name: Test check | |
working-directory: zstandard_android | |
run: flutter test | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Test - Android Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Test - Android Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Test - Android Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
android_publish_dry_run: | |
name: Dry Run Publish Android | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_android | |
run: flutter pub get | |
- name: Publish Dry Run | |
working-directory: zstandard_android | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Dry Run Publish - Android Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Dry Run Publish - Android Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Dry Run Publish - Android Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
android_publish: | |
name: Publish Android | |
runs-on: [self-hosted, macOS] | |
needs: [android_analyze, android_test, android_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_android | |
run: flutter pub get | |
- name: Publish | |
working-directory: zstandard_android | |
run: dart pub publish -f | |
- name: Compress folder | |
run: zip -r zstandard_android.zip ./zstandard_android | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard_android.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Publish - Android Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Publish - Android Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Publish - Android Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
ios_analyze: | |
name: Analyze iOS | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_ios | |
run: flutter pub get | |
- name: Analyze check | |
working-directory: zstandard_ios | |
run: flutter analyze | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Analyze - iOS Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Analyze - iOS Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Analyze - iOS Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
ios_test: | |
name: Test iOS | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_ios | |
run: flutter pub get | |
- name: Test check | |
working-directory: zstandard_ios | |
run: flutter test | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Test - iOS Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Test - iOS Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Test - iOS Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
ios_publish_dry_run: | |
name: Dry Run Publish iOS | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_ios | |
run: flutter pub get | |
- name: Publish Dry Run | |
working-directory: zstandard_ios | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Dry Run Publish - iOS Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Dry Run Publish - iOS Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Dry Run Publish - iOS Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
ios_publish: | |
name: Publish iOS | |
runs-on: [self-hosted, macOS] | |
needs: [ios_analyze, ios_test, ios_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_ios | |
run: flutter pub get | |
- name: Publish | |
working-directory: zstandard_ios | |
run: dart pub publish -f | |
- name: Compress folder | |
run: zip -r zstandard_ios.zip ./zstandard_ios | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard_ios.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Publish - iOS Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Publish - iOS Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Publish - iOS Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
macos_analyze: | |
name: Analyze macOS | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_macos | |
run: flutter pub get | |
- name: Analyze check | |
working-directory: zstandard_macos | |
run: flutter analyze | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Analyze - macOS Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Analyze - macOS Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Analyze - macOS Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
macos_test: | |
name: Test macOS | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Test check | |
working-directory: zstandard_macos | |
run: flutter test | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Test - macOS Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Test - macOS Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Test - macOS Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
macos_publish_dry_run: | |
name: Dry Run Publish macOS | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_macos | |
run: flutter pub get | |
- name: Publish Dry Run | |
working-directory: zstandard_macos | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Dry Run Publish - macOS Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Dry Run Publish - macOS Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Dry Run Publish - macOS Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
macos_publish: | |
name: Publish macOS | |
runs-on: [self-hosted, macOS] | |
needs: [macos_analyze, macos_test, macos_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_macos | |
run: flutter pub get | |
- name: Publish | |
working-directory: zstandard_macos | |
run: dart pub publish -f | |
- name: Compress folder | |
run: zip -r zstandard_macos.zip ./zstandard_macos | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard_macos.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Publish - macOS Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Publish - macOS Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Publish - macOS Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
windows_analyze: | |
name: Analyze Windows | |
runs-on: [self-hosted, Windows] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
shell: cmd | |
run: npm install -g @landamessenger/landa-messenger-api | |
- name: Get dependencies | |
working-directory: zstandard_windows | |
shell: cmd | |
run: flutter pub get | |
- name: Analyze check | |
working-directory: zstandard_windows | |
shell: cmd | |
run: flutter analyze | |
- name: Handle job completion | |
if: always() | |
shell: cmd | |
run: | | |
if "%{{ job.status }}" == "failure" ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π΄ Analyze - Windows Failed" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) else if "%{{ job.status }}" == "cancelled" ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π Analyze - Windows Canceled" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) else ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π’ Analyze - Windows Passed" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) | |
windows_test: | |
name: Test Windows | |
runs-on: [self-hosted, Windows] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
shell: cmd | |
run: npm install -g @landamessenger/landa-messenger-api | |
- name: Get dependencies | |
working-directory: zstandard_windows | |
shell: cmd | |
run: flutter pub get | |
#- name: Test check | |
# working-directory: zstandard_windows | |
# shell: cmd | |
# run: flutter test | |
- name: Handle job completion | |
if: always() | |
shell: cmd | |
run: | | |
if "%{{ job.status }}" == "failure" ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π΄ Test - Windows Failed" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) else if "%{{ job.status }}" == "cancelled" ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π Test - Windows Canceled" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) else ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π’ Test - Windows Passed" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) | |
windows_publish_dry_run: | |
name: Dry Run Publish Windows | |
runs-on: [self-hosted, Windows] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
shell: cmd | |
run: npm install -g @landamessenger/landa-messenger-api | |
- name: Get dependencies | |
working-directory: zstandard_windows | |
shell: cmd | |
run: flutter pub get | |
- name: Publish Dry Run | |
working-directory: zstandard_windows | |
shell: cmd | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
shell: cmd | |
run: | | |
if "%{{ job.status }}" == "failure" ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π΄ Dry Run Publish - Windows Failed" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) else if "%{{ job.status }}" == "cancelled" ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π Dry Run Publish - Windows Canceled" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) else ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π’ Dry Run Publish - Windows Passed" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) | |
windows_publish: | |
name: Publish Windows | |
runs-on: [self-hosted, Windows] | |
needs: [windows_analyze, windows_test, windows_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
shell: cmd | |
run: npm install -g @landamessenger/landa-messenger-api | |
- name: Get dependencies | |
working-directory: zstandard_windows | |
shell: cmd | |
run: flutter pub get | |
- name: Publish | |
working-directory: zstandard_windows | |
shell: cmd | |
run: dart pub publish -f | |
- name: Compress folder | |
shell: cmd | |
run: tar -a -c -f zstandard_windows.zip zstandard_windows | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard_windows.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
shell: cmd | |
run: | | |
if "%{{ job.status }}" == "failure" ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π΄ Publish - Windows Failed" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) else if "%{{ job.status }}" == "cancelled" ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π Publish - Windows Canceled" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) else ( | |
landa-messenger-api chat-send ^ | |
--id "%{{ secrets.CHAT_ID }}" ^ | |
--api_key "%{{ secrets.CHAT_KEY }}" ^ | |
--title "π’ Publish - Windows Passed" ^ | |
--body "%{{ github.repository }}: Tag v%{{ env.VERSION }}" ^ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" ^ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" ^ | |
--background_color "#55000000" ^ | |
--text_color "#FFFFFFFF" | |
) | |
linux_analyze: | |
name: Analyze Linux | |
runs-on: [self-hosted, Linux] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_linux | |
run: flutter pub get | |
- name: Analyze check | |
working-directory: zstandard_linux | |
run: flutter analyze | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Analyze - Linux Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Analyze - Linux Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Analyze - Linux Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
linux_test: | |
name: Test Linux | |
runs-on: [self-hosted, Linux] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_linux | |
run: flutter pub get | |
# - name: Test check | |
# working-directory: zstandard_linux | |
# run: flutter test | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Test - Linux Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Test - Linux Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Test - Linux Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
linux_publish_dry_run: | |
name: Dry Run Publish Linux | |
runs-on: [self-hosted, Linux] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_linux | |
run: flutter pub get | |
- name: Publish Dry Run | |
working-directory: zstandard_linux | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Dry Run Publish - Linux Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Dry Run Publish - Linux Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Dry Run Publish - Linux Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
linux_publish: | |
name: Publish Linux | |
runs-on: [self-hosted, Linux] | |
needs: [linux_analyze, linux_test, linux_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_linux | |
run: flutter pub get | |
- name: Publish | |
working-directory: zstandard_linux | |
run: dart pub publish -f | |
- name: Compress folder | |
run: zip -r zstandard_linux.zip ./zstandard_linux | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard_linux.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Publish - Linux Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Publish - Linux Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Publish - Linux Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
web_analyze: | |
name: Analyze Web | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_web | |
run: flutter pub get | |
- name: Analyze check | |
working-directory: zstandard_web | |
run: flutter analyze | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Analyze - Web Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Analyze - Web Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Analyze - Web Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
web_test: | |
name: Test Web | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_web | |
run: flutter pub get | |
- name: Test check | |
working-directory: zstandard_web | |
run: flutter test | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Test - Web Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Test - Web Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Test - Web Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
web_publish_dry_run: | |
name: Dry Run Publish Web | |
runs-on: [self-hosted, macOS] | |
needs: platform_interface_publish | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_web | |
run: flutter pub get | |
- name: Publish Dry Run | |
working-directory: zstandard_web | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Dry Run Publish - Web Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Dry Run Publish - Web Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Dry Run Publish - Web Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
web_publish: | |
name: Publish Web | |
runs-on: [self-hosted, macOS] | |
needs: [web_analyze, web_test, web_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_web | |
run: flutter pub get | |
- name: Publish | |
working-directory: zstandard_web | |
run: dart pub publish -f | |
- name: Compress folder | |
run: zip -r zstandard_web.zip ./zstandard_web | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard_web.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Publish - Web Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Publish - Web Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Publish - Web Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
cli_analyze: | |
name: Analyze CLI | |
runs-on: [self-hosted, macOS] | |
needs: [android_publish, ios_publish, web_publish, macos_publish, linux_publish, windows_publish] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_cli | |
run: dart pub get | |
- name: Analyze check | |
working-directory: zstandard_cli | |
run: dart analyze | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Analyze - CLI Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Analyze - CLI Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Analyze - CLI Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
cli_test: | |
name: Test CLI | |
runs-on: [self-hosted, macOS] | |
needs: [android_publish, ios_publish, web_publish, macos_publish, linux_publish, windows_publish] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_cli | |
run: dart pub get | |
- name: Test check | |
working-directory: zstandard_cli | |
run: dart test | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Test - CLI Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Test - CLI Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Test - CLI Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
cli_publish_dry_run: | |
name: Dry Run Publish CLI | |
runs-on: [self-hosted, macOS] | |
needs: [android_publish, ios_publish, web_publish, macos_publish, linux_publish, windows_publish] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_cli | |
run: dart pub get | |
- name: Publish Dry Run | |
working-directory: zstandard_cli | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Dry Run Publish - CLI Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Dry Run Publish - CLI Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Dry Run Publish - CLI Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
cli_publish: | |
name: Publish CLI | |
runs-on: [self-hosted, macOS] | |
needs: [cli_analyze, cli_test, cli_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard_cli | |
run: dart pub get | |
- name: Publish | |
working-directory: zstandard_cli | |
run: dart pub publish -f | |
- name: Compress folder | |
run: zip -r zstandard_cli.zip ./zstandard_cli | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard_cli.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Publish - CLI Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Publish - CLI Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Publish - CLI Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
zstandard_analyze: | |
name: Analyze Zstandard | |
runs-on: [self-hosted, macOS] | |
needs: [android_publish, ios_publish, web_publish, macos_publish, linux_publish, windows_publish] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Wait for dependency to be available | |
uses: nick-fields/retry@v3 | |
with: | |
timeout_minutes: 120 | |
max_attempts: 200 | |
command: cd zstandard && flutter pub get | |
on_retry_command: | | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Retry getting dependencies" \ | |
--body "Getting dependencies. It could take a while.." \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#FFFFFFFF" \ | |
--text_color "#DD000000" | |
- name: Wait a minute | |
run: sleep 120 | |
- name: Analyze check | |
working-directory: zstandard | |
run: flutter analyze | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Analyze - Zstandard Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Analyze - Zstandard Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Analyze - Zstandard Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
zstandard_test: | |
name: Test Zstandard | |
runs-on: [self-hosted, macOS] | |
needs: [android_publish, ios_publish, web_publish, macos_publish, linux_publish, windows_publish] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Wait for dependency to be available | |
uses: nick-fields/retry@v3 | |
with: | |
timeout_minutes: 120 | |
max_attempts: 200 | |
command: cd zstandard && flutter pub get | |
on_retry_command: | | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Retry getting dependencies" \ | |
--body "Getting dependencies. It could take a while.." \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#FFFFFFFF" \ | |
--text_color "#DD000000" | |
- name: Wait a minute | |
run: sleep 120 | |
- name: Test check | |
working-directory: zstandard | |
run: flutter test | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Test - Zstandard Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Test - Zstandard Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Test - Zstandard Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
zstandard_publish_dry_run: | |
name: Dry Run Publish Zstandard | |
runs-on: [self-hosted, macOS] | |
needs: [android_publish, ios_publish, web_publish, macos_publish, linux_publish, windows_publish] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Wait for dependency to be available | |
uses: nick-fields/retry@v3 | |
with: | |
timeout_minutes: 120 | |
max_attempts: 200 | |
command: cd zstandard && flutter pub get | |
on_retry_command: | | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Retry getting dependencies" \ | |
--body "Getting dependencies. It could take a while.." \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#FFFFFFFF" \ | |
--text_color "#DD000000" | |
- name: Wait a minute | |
run: sleep 120 | |
- name: Publish Dry Run | |
working-directory: zstandard | |
run: dart pub publish --dry-run | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Dry Run Publish - Zstandard Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Dry Run Publish - Zstandard Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Dry Run Publish - Zstandard Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi | |
zstandard_publish: | |
name: Publish Zstandard | |
runs-on: [self-hosted, macOS] | |
needs: [zstandard_analyze, zstandard_test, zstandard_publish_dry_run] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js 18 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- name: Install Landa Messenger CLI | |
run: npm install @landamessenger/landa-messenger-api -g | |
- uses: subosito/flutter-action@v1 | |
with: | |
channel: 'stable' | |
flutter-version: '3.24.3' | |
- name: Get dependencies | |
working-directory: zstandard | |
run: flutter pub get | |
- name: Publish | |
working-directory: zstandard | |
run: dart pub publish -f | |
- name: Compress folder | |
run: zip -r zstandard.zip ./zstandard | |
- name: Upload asset to release | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: "v${{ env.VERSION }}" | |
files: "./zstandard.zip" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Handle job completion | |
if: always() | |
run: | | |
if [ "${{ job.status }}" == "failure" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π΄ Publish - Zstandard Failed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
elif [ "${{ job.status }}" == "cancelled" ]; then | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π Publish - Zstandard Canceled" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
else | |
landa-messenger-api chat-send \ | |
--id "${{ secrets.CHAT_ID }}" \ | |
--api_key "${{ secrets.CHAT_KEY }}" \ | |
--title "π’ Publish - Zstandard Passed" \ | |
--body "${{ github.repository }}: Tag v${{ env.VERSION }}" \ | |
--url "https://github.com/landamessenger/zstandard/actions/workflows/tag_version_and_publish.yml" \ | |
--image "https://avatars.githubusercontent.com/u/63705403?s=200&v=4" \ | |
--background_color "#55000000" \ | |
--text_color "#FFFFFFFF" | |
fi |