mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 21:21:44 +00:00
208 lines
6.7 KiB
YAML
208 lines
6.7 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-docker-image:
|
|
# name: Build & Upload Docker
|
|
# runs-on: ubuntu-latest
|
|
# permissions:
|
|
# contents: read
|
|
# packages: write
|
|
# id-token: write
|
|
# steps:
|
|
# - uses: actions/checkout@v4
|
|
# with:
|
|
# fetch-depth: 1
|
|
|
|
# - id: upload-gate
|
|
# name: Upload Gate
|
|
# run: ./scripts/build-upload-gate
|
|
|
|
# - id: read-docker-secrets
|
|
# name: Read Docker Secrets
|
|
# uses: rancher-eio/read-vault-secrets@main
|
|
# with:
|
|
# secrets: |
|
|
# secret/data/github/repo/${{ github.repository }}/dockerhub/harvester/credentials username | DOCKER_USERNAME ;
|
|
# secret/data/github/repo/${{ github.repository }}/dockerhub/harvester/credentials password | DOCKER_PASSWORD ;
|
|
|
|
# - id: login-docker
|
|
# name: Docker Log in
|
|
# uses: docker/login-action@v3
|
|
# with:
|
|
# username: ${{ env.DOCKER_USERNAME }}
|
|
# password: ${{ env.DOCKER_PASSWORD }}
|
|
|
|
# - id: push-docker
|
|
# name: Docker Build
|
|
# uses: docker/build-push-action@v5
|
|
# with:
|
|
# provenance: false
|
|
# context: .
|
|
# push: true
|
|
# tags: rancher/harvester-ui:${{ github.ref_name }}
|
|
|
|
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 }}/googleauthkey/harvester/credentials credential | 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
|
|
# TODO: replace test-release back to ${{ steps.build-hosted.outputs.BUILD_HOSTED_LOCATION }}
|
|
with:
|
|
path: ${{steps.build-hosted.outputs.BUILD_HOSTED_DIR}}
|
|
destination: releases.rancher.com/harvester-ui/dashboard/test-release
|
|
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 }}/googleauthkey/harvester/credentials credential | 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'
|
|
# TODO: replace test-release with ${{ env.REPO }}
|
|
with:
|
|
path: ${{steps.build-embedded.outputs.BUILD_EMBEDED_TGZ}}
|
|
destination: releases.rancher.com/harvester-ui/test-release
|
|
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: ./shell/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 }}/googleauthkey/harvester/credentials credential | 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
|