fix(collect metrics): ignore tabs that don't start with http://
or …
#27
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 | |
on: | |
push: | |
branches: ["master", "beta"] | |
paths-ignore: | |
- ".husky/**" | |
- "**.md" | |
- package.json | |
permissions: | |
contents: write # to be able to publish a GitHub release | |
jobs: | |
build-extension: | |
runs-on: ubuntu-latest | |
outputs: | |
REPO_NAME: ${{ steps.extension-build.outputs.REPO_NAME }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.x | |
cache: "yarn" | |
- name: Install dependencies | |
run: yarn | |
- name: Build | |
id: extension-build | |
run: | | |
REPO_NAME=$(echo "${{ github.repository }}" | awk -F/ '{print $2}') | |
echo "REPO_NAME=${REPO_NAME}" >> $GITHUB_OUTPUT | |
yarn build | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.extension-build.outputs.REPO_NAME }} | |
path: dist | |
retention-days: 1 | |
compression-level: 9 # maximum compression | |
build-proxy: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
env: | |
BINARY_BASE_NAME: tpulse-proxy | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Rust | |
uses: hecrj/setup-rust-action@v2 | |
with: | |
rust-version: stable | |
- name: Build on Unix systems | |
if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'}} | |
id: build-proxy-unix | |
run: | | |
OS_NAME=$(echo "${{ matrix.os }}" | awk -F- '{print $1}') | |
if [ $OS_NAME == "ubuntu" ]; then | |
DISTRO="linux" | |
BUILD_TARGET="x86_64-unknown-linux-gnu" | |
elif [ $OS_NAME == "macos" ]; then | |
DISTRO="mac" | |
BUILD_TARGET="x86_64-apple-darwin" | |
fi | |
rustup target add $BUILD_TARGET | |
cargo build --release --target=$BUILD_TARGET --manifest-path src-proxy/Cargo.toml | |
ls src-proxy/target/$BUILD_TARGET/release | |
BINARY_NAME="${{ env.BINARY_BASE_NAME }}_$DISTRO" | |
cp src-proxy/target/$BUILD_TARGET/release/proxy $BINARY_NAME | |
echo "BINARY_NAME=${BINARY_NAME}" >> $GITHUB_OUTPUT | |
echo "DISTRO=${DISTRO}" >> $GITHUB_OUTPUT | |
- if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'}} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ steps.build-proxy-unix.outputs.DISTRO }} | |
path: ${{ steps.build-proxy-unix.outputs.BINARY_NAME }} | |
retention-days: 1 | |
compression-level: 0 | |
- name: Build on Windows | |
id: build-proxy-windows | |
if: ${{ matrix.os == 'windows-latest' }} | |
run: | | |
$BUILD_TARGET = "x86_64-pc-windows-msvc" | |
rustup target add $BUILD_TARGET | |
cargo build --release --target=$BUILD_TARGET --manifest-path src-proxy/Cargo.toml | |
ls src-proxy/target/$BUILD_TARGET/release | |
$BINARY_NAME = "${{ env.BINARY_BASE_NAME }}_windows.exe" | |
Copy-Item -Path "src-proxy\target\$BUILD_TARGET\release\proxy.exe" -Destination $BINARY_NAME | |
echo "BINARY_NAME=$BINARY_NAME" >> $env:GITHUB_OUTPUT | |
- if: ${{ matrix.os == 'windows-latest' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: windows | |
retention-days: 1 | |
path: ${{ steps.build-proxy-windows.outputs.BINARY_NAME }} | |
compression-level: 0 | |
release: | |
name: Release | |
needs: [build-extension, build-proxy] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
persist-credentials: false | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.x | |
cache: "yarn" | |
- name: Install dependencies | |
run: yarn add -D semantic-release @semantic-release/changelog @semantic-release/git | |
- name: Download all artifacts | |
uses: actions/download-artifact@v4 | |
- name: Zip browser extension | |
env: | |
REPO_NAME: ${{ needs.build-extension.outputs.REPO_NAME }} | |
run: | | |
mkdir -p binaries | |
mv linux/* mac/* windows/* binaries | |
zip -r ${{ env.REPO_NAME }}.zip ${{ env.REPO_NAME }} | |
- name: Release | |
env: | |
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} | |
run: yarn semantic-release |