Skip to content

[update docs] v2.15.3 #4

[update docs] v2.15.3

[update docs] v2.15.3 #4

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
jobs:
createrelease:
name: Create release tag and JBrowse web release artifacts
runs-on: ubuntu-latest
steps:
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
# This allows us to manually edit the release body text before publishing
draft: true
prerelease: false
- uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Install deps
run: yarn
- name: Build project
run: |
echo $RELEASE_VERSION
cd products/jbrowse-web/
NODE_OPTIONS='--max-old-space-size=6500' yarn build
cd build
zip -r "jbrowse-web-${RELEASE_VERSION}.zip" .
- name: Upload jbrowse-web build
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./products/jbrowse-web/build/jbrowse-web-${{env.RELEASE_VERSION}}.zip
asset_name: jbrowse-web-${{env.RELEASE_VERSION}}.zip
asset_content_type: application/zip
buildwindows:
needs: createrelease
name: Build Windows desktop app
runs-on: ubuntu-latest
container:
image: docker://node:20-bullseye
steps:
- uses: actions/checkout@v4
- name: Install deps (with cache)
uses: bahmutov/npm-install@v1
- name: Setup java
uses: actions/setup-java@v4
with:
# eclipse 'temurin' openjdk https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Selecting-a-Java-distribution
distribution: 'temurin'
java-version: '21'
- name: Install wine
# https://wiki.debian.org/Wine
run: |
dpkg --add-architecture i386
apt update
apt install --yes wine wine32 wine64 libwine libwine:i386 fonts-wine
- name: Install build deps
run: |
apt install --yes python3 make gcc libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev openjdk-21-jdk-headless
# We are just cloning the esigner repo instead of calling their github
# action directly https://github.com/SSLcom/esigner-codesign
- name: Get ssl.com esigner zip file and unzip
run: |
mkdir products/jbrowse-desktop/code_signer
cd products/jbrowse-desktop/code_signer
wget https://www.ssl.com/download/codesigntool-for-linux-and-macos -O out.zip
unzip out.zip
chmod +x CodeSignTool.sh
cd ../../../
- name: Build app
env:
WINDOWS_SIGN_USER_NAME: ${{ secrets.WINDOWS_SIGN_USER_NAME }}
WINDOWS_SIGN_USER_PASSWORD: ${{ secrets.WINDOWS_SIGN_USER_PASSWORD }}
WINDOWS_SIGN_CREDENTIAL_ID: ${{ secrets.WINDOWS_SIGN_CREDENTIAL_ID }}
WINDOWS_SIGN_USER_TOTP: ${{ secrets.WINDOWS_SIGN_USER_TOTP }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
chown --recursive root:root /github/home
yarn build-electron:win --publish always
working-directory: products/jbrowse-desktop
buildmac:
needs: createrelease
name: Build Mac desktop app
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install build deps
run: |
brew install pkg-config cairo pango libpng jpeg giflib librsvg
- name: Install deps (with cache)
uses: bahmutov/npm-install@v1
- name: Build app
env:
CSC_LINK: ${{ secrets.CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
APPLEID: ${{ secrets.APPLEID }}
APPLEIDPASS: ${{ secrets.APPLEIDPASS }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
yarn build-electron:mac --publish always
working-directory: products/jbrowse-desktop
buildlinux:
needs: createrelease
name: Build Linux desktop app
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install deps (with cache)
uses: bahmutov/npm-install@v1
- name: Install build deps
run: |
sudo apt install -y python3 make gcc libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
- name: Build app
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
yarn build-electron:linux --publish always
working-directory: products/jbrowse-desktop