docs: add instructions to build app with OSTk: #3
Workflow file for this run
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
# Apache License 2.0 | |
name: Build Packages | |
on: | |
workflow_call: | |
inputs: | |
project_name: | |
description: The name of the project. | |
required: true | |
type: string | |
project_version: | |
description: The version of the project. | |
required: true | |
type: string | |
secrets: | |
DOCKERHUB_USERNAME: | |
required: true | |
DOCKERHUB_TOKEN: | |
required: true | |
env: | |
DOCKER_REGISTRY_PATH: openspacecollective | |
LANG: en_US.UTF-8 | |
jobs: | |
build-package-cpp: | |
name: Build C++ Package | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
architecture: [linux/amd64, linux/arm64] | |
steps: | |
- name: Checkout Repository | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
lfs: true | |
- name: Set up QEMU for ARM64 | |
if: (matrix.architecture == 'linux/arm64' && github.ref == 'refs/heads/main') || (matrix.architecture == 'linux/arm64' && github.event_name == 'release' && github.event.action == 'published') | |
uses: docker/setup-qemu-action@v2 | |
with: | |
platforms: linux/arm64 | |
- name: Login to DockerHub | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Pull Development Image | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
run: docker pull ${{ env.DOCKER_REGISTRY_PATH }}/${{ inputs.project_name }}-development:${{ inputs.project_version }} | |
- name: Build C++ Package | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
run: make build-packages-cpp-standalone TARGETPLATFORM=${{ matrix.architecture }} | |
- name: Upload C++ Package | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: cpp-package | |
path: packages/cpp/ | |
build-package-python: | |
name: Build Python Package | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
architecture: [linux/amd64, linux/arm64] | |
steps: | |
- name: Checkout Repository | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
lfs: true | |
- name: Set up QEMU for ARM64 | |
if: (matrix.architecture == 'linux/arm64' && github.ref == 'refs/heads/main') || (matrix.architecture == 'linux/arm64' && github.event_name == 'release' && github.event.action == 'published') | |
uses: docker/setup-qemu-action@v2 | |
with: | |
platforms: linux/arm64 | |
- name: Login to DockerHub | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Pull Development Image | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
run: docker pull ${{ env.DOCKER_REGISTRY_PATH }}/${{ inputs.project_name }}-development:${{ inputs.project_version }} | |
- name: Build Python Package | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
run: make build-packages-python-standalone TARGETPLATFORM=${{ matrix.architecture }} | |
- name: Upload Python Package | |
if: matrix.architecture != 'linux/arm64' || github.ref == 'refs/heads/main' || (github.event_name == 'release' && github.event.action == 'published') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: python-package | |
path: packages/python/ | |
build-documentation: | |
name: Build Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
lfs: true | |
- env: | |
CESIUM_TOKEN: ${{ secrets.CESIUM_TOKEN }} | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build Documentation | |
run: make build-documentation-standalone | |
- name: Tar files | |
run: tar -cvf docs.tar.gz docs/ | |
- name: Upload Documentation | |
uses: actions/upload-artifact@v3 | |
with: | |
name: docs | |
path: docs.tar.gz |