This repository has been archived by the owner on Nov 22, 2024. It is now read-only.
Flipper Snapshot Bump: v0.272.1-SNAPSHOT #461
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: Release | |
# This action runs on push to 'main' and below specified paths | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- "desktop/package.json" | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
outputs: | |
tag: ${{ steps.tag-version-commit.outputs.tag }} | |
steps: | |
- uses: passy/[email protected] | |
id: extract-version-commit | |
with: | |
version_regex: '^Flipper Release: v([0-9]+\.[0-9]+\.[0-9]+)(?:\n|$)' | |
- uses: actions/[email protected] | |
if: ${{ steps.extract-version-commit.outputs.commit != ''}} | |
with: | |
ref: ${{ steps.extract-version-commit.outputs.commit }} | |
- name: Tag version commit | |
if: ${{ steps.extract-version-commit.outputs.commit != ''}} | |
id: tag-version-commit | |
uses: passy/[email protected] | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
ref: ${{ steps.extract-version-commit.outputs.commit }} | |
version_tag_prefix: "v" | |
version_assertion_command: 'grep -q "\"version\": \"$version\"" desktop/package.json' | |
- name: Create release | |
if: ${{ steps.tag-version-commit.outputs.tag != '' }} | |
uses: softprops/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.tag-version-commit.outputs.tag }} | |
name: ${{ steps.tag-version-commit.outputs.tag }} | |
body: | | |
See https://github.com/facebook/flipper/blob/main/desktop/static/CHANGELOG.md | |
for full notes. | |
draft: false | |
prerelease: false | |
build-server-mac: | |
needs: | |
- release | |
runs-on: macos-latest | |
env: | |
desktop-directory: ./desktop | |
steps: | |
- uses: actions/[email protected] | |
with: | |
ref: ${{ needs.release.outputs.tag }} | |
- uses: actions/[email protected] | |
with: | |
node-version: "18.x" | |
- name: Install | |
uses: nick-invision/[email protected] | |
with: | |
timeout_minutes: 10 | |
max_attempts: 3 | |
command: cd ${{env.desktop-directory}} && yarn | |
- name: Build | |
run: cd ${{env.desktop-directory}} && yarn build:flipper-server --mac --dmg --linux --win --tar | |
- name: List dist artifacts | |
run: ls -l dist/ | |
- name: Upload Mac x86-64 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "Flipper-server-mac-x64.dmg" | |
path: "dist/Flipper-server-mac-x64.dmg" | |
- name: Upload Mac aarch64 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "Flipper-server-mac-aarch64.dmg" | |
path: "dist/Flipper-server-mac-aarch64.dmg" | |
- name: Upload Linux x64 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "flipper-server-linux.tar.gz" | |
path: "dist/flipper-server-linux.tar.gz" | |
- name: Upload Windows x64 | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "flipper-server-windows.tar.gz" | |
path: "dist/flipper-server-windows.tar.gz" | |
build-flipper-server: | |
needs: | |
- release | |
runs-on: ubuntu-latest | |
env: | |
desktop-directory: ./desktop | |
steps: | |
- uses: actions/[email protected] | |
with: | |
ref: ${{ needs.release.outputs.tag }} | |
- uses: actions/[email protected] | |
with: | |
node-version: "18.x" | |
- name: Install | |
uses: nick-invision/[email protected] | |
with: | |
timeout_minutes: 10 | |
max_attempts: 3 | |
command: cd ${{env.desktop-directory}} && yarn | |
- name: Build | |
run: cd ${{env.desktop-directory}} && yarn build:flipper-server | |
- name: List dist artifacts | |
run: ls -l dist/ | |
- name: Upload flipper-server | |
uses: actions/upload-artifact@v4 | |
with: | |
name: "flipper-server.tgz" | |
path: "dist/flipper-server.tgz" | |
publish: | |
needs: | |
- build-server-mac | |
- build-flipper-server | |
- release | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
with: | |
ref: ${{ needs.release.outputs.tag }} | |
- name: Download Flipper Server x86-64 | |
if: ${{ needs.release.outputs.tag != '' }} | |
uses: actions/download-artifact@v4 | |
with: | |
name: "Flipper-server-mac-x64.dmg" | |
path: "Flipper-server-mac-x64.dmg" | |
- name: Download Flipper Server aarch64 | |
if: ${{ needs.release.outputs.tag != '' }} | |
uses: actions/download-artifact@v4 | |
with: | |
name: "Flipper-server-mac-aarch64.dmg" | |
path: "Flipper-server-mac-aarch64.dmg" | |
- name: Download Flipper Server | |
if: ${{ needs.release.outputs.tag != '' }} | |
uses: actions/download-artifact@v4 | |
with: | |
name: "flipper-server.tgz" | |
path: "flipper-server.tgz" | |
- name: GitHub Upload Release Artifacts | |
if: ${{ needs.release.outputs.tag != '' }} | |
uses: aigoncharov/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
created_tag: ${{ needs.release.outputs.tag }} | |
args: flipper-server.tgz/flipper-server.tgz Flipper-server-mac-x64.dmg/Flipper-server-mac-x64.dmg Flipper-server-mac-aarch64.dmg/Flipper-server-mac-aarch64.dmg | |
- name: Set up npm token | |
run: echo "//registry.yarnpkg.com/:_authToken=${{ secrets.FLIPPER_NPM_TOKEN }}" >> ~/.npmrc | |
- name: Publish flipper-server on NPM | |
if: ${{ needs.release.outputs.tag != '' }} | |
run: | | |
tar zxvf flipper-server.tgz/flipper-server.tgz | |
cd package | |
yarn publish | |
- name: Open issue on failure | |
if: failure() | |
uses: JasonEtco/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
REPOSITORY: ${{ github.repository }} | |
RUN_ID: ${{ github.run_id }} | |
WORKFLOW_NAME: "Publish" | |
with: | |
filename: .github/action-failure-template.md | |
dispatch: | |
needs: | |
- release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Publish Workflow Dispatch | |
if: ${{ needs.release.outputs.tag != '' }} | |
uses: benc-uk/[email protected] | |
with: | |
workflow: Publish Pods | |
ref: ${{ needs.release.outputs.tag }} | |
- name: Publish NPM | |
if: ${{ needs.release.outputs.tag != '' }} | |
uses: benc-uk/[email protected] | |
with: | |
workflow: Publish NPM | |
ref: ${{ needs.release.outputs.tag }} | |
- name: Publish Android | |
if: ${{ needs.release.outputs.tag != '' }} | |
uses: benc-uk/[email protected] | |
with: | |
workflow: Publish Android | |
ref: ${{ needs.release.outputs.tag }} | |
inputs: '{"tag": "${{ needs.release.outputs.tag }}"}' |