mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 13:11:43 +00:00
166 lines
5.2 KiB
YAML
166 lines
5.2 KiB
YAML
name: Build Harvester Dashboard and Upload
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
CI_BRANCH:
|
|
required: false
|
|
type: string
|
|
CI_BUILD_TAG:
|
|
required: false
|
|
type: string
|
|
|
|
env:
|
|
GOOGLE_AUTH: ''
|
|
DOCKER_USERNAME: ''
|
|
DOCKER_PASSWORD: ''
|
|
CI_BUILD_TAG: ${{inputs.CI_BUILD_TAG}}
|
|
CI_BRANCH: ${{inputs.CI_BRANCH}}
|
|
GIT_REPO: ${{github.repository}}
|
|
GIT_COMMIT: ${{github.sha}}
|
|
REPO: ${{github.event.repository.name || ''}}
|
|
|
|
jobs:
|
|
build-and-upload-hosted:
|
|
name: Build & Upload Hosted
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
# Note - Cannot use the setup action here as it uses a different yarn install arg
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
cache: 'yarn'
|
|
|
|
# Build a directory containing the dashboard that can be used with ui-dashboard-index
|
|
- id: build-hosted
|
|
name: Build Hosted
|
|
run: ./scripts/build-hosted
|
|
|
|
- id: upload-gate
|
|
name: Upload Gate (superseded by a newer build?)
|
|
run: ./scripts/build-upload-gate
|
|
|
|
- name: Get gcs auth
|
|
uses: rancher-eio/read-vault-secrets@main
|
|
with:
|
|
secrets: |
|
|
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
|
|
|
|
- name: Apply gcs auth
|
|
# https://github.com/google-github-actions/auth
|
|
uses: 'google-github-actions/auth@v2'
|
|
with:
|
|
credentials_json: "${{ env.GOOGLE_AUTH }}"
|
|
|
|
- name: Upload build
|
|
uses: 'google-github-actions/upload-cloud-storage@v2'
|
|
# https://github.com/google-github-actions/upload-cloud-storage
|
|
with:
|
|
path: ${{steps.build-hosted.outputs.BUILD_HOSTED_DIR}}
|
|
destination: releases.rancher.com/harvester-ui/dashboard/${{ steps.build-hosted.outputs.BUILD_HOSTED_LOCATION }}
|
|
parent: false
|
|
headers: |-
|
|
cache-control: no-cache,must-revalidate
|
|
process_gcloudignore: false
|
|
|
|
build-and-upload-embedded:
|
|
name: Build & Upload Embedded
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
# Note - Cannot use the setup action here as it uses a different yarn install arg
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
cache: 'yarn'
|
|
|
|
# Build a tar that will be picked up by rancher builds and embedded into it
|
|
- id: build-embedded
|
|
name: Build Embedded
|
|
run: ./scripts/build-embedded
|
|
env:
|
|
DISABLED_EMBED_PKG: https://releases.rancher.com/harvester-ui/plugin/harvester-1.0.3.tar.gz
|
|
|
|
- name: Get gcs auth
|
|
uses: rancher-eio/read-vault-secrets@main
|
|
with:
|
|
secrets: |
|
|
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
|
|
|
|
- name: Apply gcs auth
|
|
# https://github.com/google-github-actions/auth
|
|
uses: 'google-github-actions/auth@v2'
|
|
with:
|
|
credentials_json: "${{ env.GOOGLE_AUTH }}"
|
|
|
|
- name: Upload tar
|
|
uses: 'google-github-actions/upload-cloud-storage@v2'
|
|
with:
|
|
path: ${{steps.build-embedded.outputs.BUILD_EMBEDED_TGZ}}
|
|
destination: releases.rancher.com/harvester-ui/${{ env.REPO }}
|
|
parent: false
|
|
headers: |-
|
|
cache-control: no-cache,must-revalidate
|
|
process_gcloudignore: false
|
|
|
|
build-and-upload-harvester-plugin:
|
|
name: Build & Upload Plugin
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
# Note - Cannot use the setup action here as it uses a different yarn install arg
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
cache: 'yarn'
|
|
|
|
- id: ci-build-pkg
|
|
name: Build pkg
|
|
run: ./scripts/ci-build-pkg.sh harvester
|
|
|
|
- id: upload-gate
|
|
name: Upload Gate
|
|
run: ./scripts/build-upload-gate
|
|
|
|
- name: Get gcs auth
|
|
uses: rancher-eio/read-vault-secrets@main
|
|
with:
|
|
secrets: |
|
|
secret/data/github/repo/${{ github.repository }}/google-auth/harvester/credentials token | GOOGLE_AUTH ;
|
|
|
|
- name: Apply gcs auth
|
|
# https://github.com/google-github-actions/auth
|
|
uses: 'google-github-actions/auth@v2'
|
|
with:
|
|
credentials_json: "${{ env.GOOGLE_AUTH }}"
|
|
|
|
- name: Upload plugin tar
|
|
uses: 'google-github-actions/upload-cloud-storage@v2'
|
|
with:
|
|
path: dist-pkg/${{steps.ci-build-pkg.outputs.PKG_TARBALL}}
|
|
destination: releases.rancher.com/harvester-ui/plugin
|
|
parent: false
|
|
headers: |-
|
|
cache-control: no-cache,must-revalidate
|
|
process_gcloudignore: false
|
|
|
|
- name: Upload plugin directory
|
|
uses: 'google-github-actions/upload-cloud-storage@v2'
|
|
with:
|
|
path: dist-pkg/${{steps.ci-build-pkg.outputs.PKG_NAME}}
|
|
destination: releases.rancher.com/harvester-ui/plugin/${{steps.ci-build-pkg.outputs.PKG_NAME}}
|
|
parent: false
|
|
headers: |-
|
|
cache-control: no-cache,must-revalidate
|
|
process_gcloudignore: false
|