Skip to content

linux-qa

linux-qa #345

Workflow file for this run

# Generated by mk-workflows.
name: 'linux-qa'
on:
push:
branches-ignore:
- release
pull_request:
branches-ignore:
- release
schedule:
- cron: '0 0 * * *'
concurrency:
group: 'linux-qa-${{ github.ref }}'
cancel-in-progress: true
jobs:
linux-qa-stable-all-features:
runs-on: ubuntu-22.04
container: ghcr.io/pragmatrix/rust-skia-linux:latest
env:
SKIA_DEBUG: 0
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Fix git dubious ownership errors when synchronizing Skia dependencies
run: git config --global --add safe.directory '*'
- name: Prepare Rustup
run: (cd /github/home && ln -s /root/.cargo)
- name: Update Rustup and Rust
run: rustup update
- name: Configure Rust Toolchain
run: rustup default stable
- name: Install Clippy
run: rustup component add clippy
- name: 'Install Rust target x86_64-unknown-linux-gnu'
shell: bash
run: |
rustup target add x86_64-unknown-linux-gnu
- name: 'Build skia-safe for x86_64-unknown-linux-gnu with features egl,gl,svg,textlayout,vulkan,wayland,webp,x11'
shell: bash
run: |
if [ "false" == "true" ]; then
TARGET=x86_64-unknown-linux-gnu
TARGET=${TARGET//-/_}
export CC_${TARGET}=x86_64-unknown-linux-gnu26-clang
export CXX_${TARGET}=x86_64-unknown-linux-gnu26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=x86_64-unknown-linux-gnu26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --target x86_64-unknown-linux-gnu
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: true
run: |
cargo clippy --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --all-targets --target x86_64-unknown-linux-gnu -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: true
run: |
cargo test --all --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --all-targets --target x86_64-unknown-linux-gnu -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: true
run: |
cargo run --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --target x86_64-unknown-linux-gnu "${{ env.SKIA_STAGING_PATH }}/skia-org" --driver cpu --driver pdf --driver svg
- name: 'Upload skia-org example images'
if: true
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-x86_64-unknown-linux-gnu
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target aarch64-unknown-linux-gnu'
shell: bash
run: |
rustup target add aarch64-unknown-linux-gnu
- name: 'Build skia-safe for aarch64-unknown-linux-gnu with features egl,gl,svg,textlayout,vulkan,wayland,webp,x11'
shell: bash
run: |
if [ "false" == "true" ]; then
TARGET=aarch64-unknown-linux-gnu
TARGET=${TARGET//-/_}
export CC_${TARGET}=aarch64-unknown-linux-gnu26-clang
export CXX_${TARGET}=aarch64-unknown-linux-gnu26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=aarch64-unknown-linux-gnu26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --target aarch64-unknown-linux-gnu
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --all-targets --target aarch64-unknown-linux-gnu -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --all-targets --target aarch64-unknown-linux-gnu -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --target aarch64-unknown-linux-gnu "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-aarch64-unknown-linux-gnu
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target aarch64-linux-android'
shell: bash
run: |
rustup target add aarch64-linux-android
- name: 'Build skia-safe for aarch64-linux-android with features gl,svg,textlayout,vulkan,webp'
shell: bash
run: |
if [ "true" == "true" ]; then
TARGET=aarch64-linux-android
TARGET=${TARGET//-/_}
export CC_${TARGET}=aarch64-linux-android26-clang
export CXX_${TARGET}=aarch64-linux-android26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=aarch64-linux-android26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "gl,svg,textlayout,vulkan,webp" --target aarch64-linux-android
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target aarch64-linux-android -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target aarch64-linux-android -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "gl,svg,textlayout,vulkan,webp" --target aarch64-linux-android "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-aarch64-linux-android
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target x86_64-linux-android'
shell: bash
run: |
rustup target add x86_64-linux-android
- name: 'Build skia-safe for x86_64-linux-android with features gl,svg,textlayout,vulkan,webp'
shell: bash
run: |
if [ "true" == "true" ]; then
TARGET=x86_64-linux-android
TARGET=${TARGET//-/_}
export CC_${TARGET}=x86_64-linux-android26-clang
export CXX_${TARGET}=x86_64-linux-android26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=x86_64-linux-android26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "gl,svg,textlayout,vulkan,webp" --target x86_64-linux-android
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target x86_64-linux-android -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target x86_64-linux-android -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "gl,svg,textlayout,vulkan,webp" --target x86_64-linux-android "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-x86_64-linux-android
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target i686-linux-android'
shell: bash
run: |
rustup target add i686-linux-android
- name: 'Build skia-safe for i686-linux-android with features gl,svg,textlayout,vulkan,webp'
shell: bash
run: |
if [ "true" == "true" ]; then
TARGET=i686-linux-android
TARGET=${TARGET//-/_}
export CC_${TARGET}=i686-linux-android26-clang
export CXX_${TARGET}=i686-linux-android26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=i686-linux-android26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "gl,svg,textlayout,vulkan,webp" --target i686-linux-android
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target i686-linux-android -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target i686-linux-android -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "gl,svg,textlayout,vulkan,webp" --target i686-linux-android "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-i686-linux-android
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target wasm32-unknown-emscripten'
shell: bash
run: |
rustup target add wasm32-unknown-emscripten
- name: 'Build skia-safe for wasm32-unknown-emscripten with features gl,textlayout,vulkan,webp'
shell: bash
run: |
if [ "false" == "true" ]; then
TARGET=wasm32-unknown-emscripten
TARGET=${TARGET//-/_}
export CC_${TARGET}=wasm32-unknown-emscripten26-clang
export CXX_${TARGET}=wasm32-unknown-emscripten26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=wasm32-unknown-emscripten26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "true" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "gl,textlayout,vulkan,webp" --target wasm32-unknown-emscripten
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "gl,textlayout,vulkan,webp" --all-targets --target wasm32-unknown-emscripten -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "gl,textlayout,vulkan,webp" --all-targets --target wasm32-unknown-emscripten -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "gl,textlayout,vulkan,webp" --target wasm32-unknown-emscripten "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-wasm32-unknown-emscripten
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
linux-qa-beta-all-features:
runs-on: ubuntu-22.04
container: ghcr.io/pragmatrix/rust-skia-linux:latest
env:
SKIA_DEBUG: 0
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Fix git dubious ownership errors when synchronizing Skia dependencies
run: git config --global --add safe.directory '*'
- name: Prepare Rustup
run: (cd /github/home && ln -s /root/.cargo)
- name: Update Rustup and Rust
run: rustup update
- name: Configure Rust Toolchain
run: rustup default beta
- name: Install Clippy
run: rustup component add clippy
- name: 'Install Rust target x86_64-unknown-linux-gnu'
shell: bash
run: |
rustup target add x86_64-unknown-linux-gnu
- name: 'Build skia-safe for x86_64-unknown-linux-gnu with features egl,gl,svg,textlayout,vulkan,wayland,webp,x11'
shell: bash
run: |
if [ "false" == "true" ]; then
TARGET=x86_64-unknown-linux-gnu
TARGET=${TARGET//-/_}
export CC_${TARGET}=x86_64-unknown-linux-gnu26-clang
export CXX_${TARGET}=x86_64-unknown-linux-gnu26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=x86_64-unknown-linux-gnu26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --target x86_64-unknown-linux-gnu
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: true
run: |
cargo clippy --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --all-targets --target x86_64-unknown-linux-gnu -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: true
run: |
cargo test --all --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --all-targets --target x86_64-unknown-linux-gnu -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --target x86_64-unknown-linux-gnu "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-x86_64-unknown-linux-gnu
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target aarch64-unknown-linux-gnu'
shell: bash
run: |
rustup target add aarch64-unknown-linux-gnu
- name: 'Build skia-safe for aarch64-unknown-linux-gnu with features egl,gl,svg,textlayout,vulkan,wayland,webp,x11'
shell: bash
run: |
if [ "false" == "true" ]; then
TARGET=aarch64-unknown-linux-gnu
TARGET=${TARGET//-/_}
export CC_${TARGET}=aarch64-unknown-linux-gnu26-clang
export CXX_${TARGET}=aarch64-unknown-linux-gnu26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=aarch64-unknown-linux-gnu26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --target aarch64-unknown-linux-gnu
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --all-targets --target aarch64-unknown-linux-gnu -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --all-targets --target aarch64-unknown-linux-gnu -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "egl,gl,svg,textlayout,vulkan,wayland,webp,x11" --target aarch64-unknown-linux-gnu "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-aarch64-unknown-linux-gnu
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target aarch64-linux-android'
shell: bash
run: |
rustup target add aarch64-linux-android
- name: 'Build skia-safe for aarch64-linux-android with features gl,svg,textlayout,vulkan,webp'
shell: bash
run: |
if [ "true" == "true" ]; then
TARGET=aarch64-linux-android
TARGET=${TARGET//-/_}
export CC_${TARGET}=aarch64-linux-android26-clang
export CXX_${TARGET}=aarch64-linux-android26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=aarch64-linux-android26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "gl,svg,textlayout,vulkan,webp" --target aarch64-linux-android
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target aarch64-linux-android -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target aarch64-linux-android -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "gl,svg,textlayout,vulkan,webp" --target aarch64-linux-android "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-aarch64-linux-android
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target x86_64-linux-android'
shell: bash
run: |
rustup target add x86_64-linux-android
- name: 'Build skia-safe for x86_64-linux-android with features gl,svg,textlayout,vulkan,webp'
shell: bash
run: |
if [ "true" == "true" ]; then
TARGET=x86_64-linux-android
TARGET=${TARGET//-/_}
export CC_${TARGET}=x86_64-linux-android26-clang
export CXX_${TARGET}=x86_64-linux-android26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=x86_64-linux-android26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "gl,svg,textlayout,vulkan,webp" --target x86_64-linux-android
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target x86_64-linux-android -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target x86_64-linux-android -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "gl,svg,textlayout,vulkan,webp" --target x86_64-linux-android "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-x86_64-linux-android
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target i686-linux-android'
shell: bash
run: |
rustup target add i686-linux-android
- name: 'Build skia-safe for i686-linux-android with features gl,svg,textlayout,vulkan,webp'
shell: bash
run: |
if [ "true" == "true" ]; then
TARGET=i686-linux-android
TARGET=${TARGET//-/_}
export CC_${TARGET}=i686-linux-android26-clang
export CXX_${TARGET}=i686-linux-android26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=i686-linux-android26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "false" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "gl,svg,textlayout,vulkan,webp" --target i686-linux-android
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target i686-linux-android -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "gl,svg,textlayout,vulkan,webp" --all-targets --target i686-linux-android -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "gl,svg,textlayout,vulkan,webp" --target i686-linux-android "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-i686-linux-android
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true
- name: 'Install Rust target wasm32-unknown-emscripten'
shell: bash
run: |
rustup target add wasm32-unknown-emscripten
- name: 'Build skia-safe for wasm32-unknown-emscripten with features gl,textlayout,vulkan,webp'
shell: bash
run: |
if [ "false" == "true" ]; then
TARGET=wasm32-unknown-emscripten
TARGET=${TARGET//-/_}
export CC_${TARGET}=wasm32-unknown-emscripten26-clang
export CXX_${TARGET}=wasm32-unknown-emscripten26-clang++
export AR_${TARGET}=llvm-ar
TARGET_UPPERCASE=`echo "${TARGET}" | tr [a-z] [A-Z]`
export CARGO_TARGET_${TARGET_UPPERCASE}_LINKER=wasm32-unknown-emscripten26-clang
echo "Set CC, CXX, and CARGO_LINKER target specific environment variables for Android"
fi
if [ "true" == "true" ]; then
source /emsdk/emsdk_env.sh
fi
cargo clean
cargo build -p skia-safe --release --features "gl,textlayout,vulkan,webp" --target wasm32-unknown-emscripten
echo "SKIA_BINARIES_TAG=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/tag.txt")" >> ${GITHUB_ENV}
echo "SKIA_BINARIES_KEY=$(cat "${BUILD_ARTIFACTSTAGINGDIRECTORY}/skia-binaries/key.txt")" >> ${GITHUB_ENV}
echo "SKIA_STAGING_PATH=${BUILD_ARTIFACTSTAGINGDIRECTORY}" >> ${GITHUB_ENV}
env:
BUILD_ARTIFACTSTAGINGDIRECTORY: ${{ runner.temp }}
EMCC_CFLAGS: "-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s MAX_WEBGL_VERSION=2"
- name: 'Run Clippy'
shell: bash
if: false
run: |
cargo clippy --release --features "gl,textlayout,vulkan,webp" --all-targets --target wasm32-unknown-emscripten -- -D warnings
- name: 'Test all workspace projects'
shell: bash
if: false
run: |
cargo test --all --release --features "gl,textlayout,vulkan,webp" --all-targets --target wasm32-unknown-emscripten -- --nocapture
- name: 'Generate skia-org example images'
shell: bash
if: false
run: |
cargo run --release --features "gl,textlayout,vulkan,webp" --target wasm32-unknown-emscripten "${{ env.SKIA_STAGING_PATH }}/skia-org"
- name: 'Upload skia-org example images'
if: false
uses: actions/upload-artifact@v3.1.1
with:
name: skia-org-images-wasm32-unknown-emscripten
path: ${{ env.SKIA_STAGING_PATH }}/skia-org
- name: 'Compress binaries'
if: false
uses: a7ul/tar-action@v1.1.2
with:
command: c
cwd: '${{ env.SKIA_STAGING_PATH }}'
files: 'skia-binaries'
outPath: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
- name: 'Release binaries'
if: false
uses: pragmatrix/release-action@v1.11.1-rs
with:
owner: rust-skia
repo: skia-binaries
allowUpdates: true
replacesArtifacts: true
tag: '${{ env.SKIA_BINARIES_TAG }}'
artifacts: '${{ runner.temp }}/skia-binaries-${{ env.SKIA_BINARIES_KEY }}.tar.gz'
artifactErrorsFailBuild: true
token: ${{ secrets.RUST_SKIA_RELEASE_TOKEN }}
prerelease: true