diff --git a/.github/workflows/publish-dev.yml b/.github/workflows/publish-dev.yml new file mode 100644 index 0000000..83b03ba --- /dev/null +++ b/.github/workflows/publish-dev.yml @@ -0,0 +1,61 @@ +name: Publish (dev) + +on: workflow_dispatch + +jobs: + publish-dev: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [macos-latest] + + steps: + - name: Checkout git repo + uses: actions/checkout@v1 + + - name: Set up Backblaze B2 CLI + uses: wilsonzlin/setup-b2@v3 + + - name: Authorize to B2 + env: + B2_WRITE_ID: ${{ secrets.B2_WRITE_ID }} + B2_WRITE_TOKEN: ${{ secrets.B2_WRITE_TOKEN }} + run: | + b2 authorize-account $B2_WRITE_ID $B2_WRITE_TOKEN + + - name: Install Node, NPM and Yarn + uses: actions/setup-node@v1 + with: + node-version: 15 + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - uses: actions/cache@v1 + id: yarn-cache + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + - name: Install dependencies + run: | + yarn install --prefer-offline + + - name: Install dependencies + run: | + yarn install + + - name: Package release + run: | + yarn package --win --mac --linux + + - name: Upload binaries to B2 + shell: pwsh + env: + COMMIT_SHA: ${{ github.sha }} + run: | + gci "./release" | ? { $_.Extension -match 'exe|dmg|AppImage'} | % { b2 upload-file sonixd $_.FullName "Sonixd(dev)_$(Get-Date -Format s)_$($env:COMMIT_SHA)_$($_.Extension)" }