Skip to content

GCP Release Workflow #82

GCP Release Workflow

GCP Release Workflow #82

# This is a basic workflow to help you get started with Actions
name: GCP Release Workflow
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
release:
types: [created]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
gcp-release:
if: "endsWith(github.event.release.tag_name, 'gcp') || endsWith(github.event.release.tag_name, 'all')"
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Checkout Code
uses: actions/checkout@v2
- name: Create Build Directory
run: mkdir ${GITHUB_WORKSPACE}/build
# Runs a set of commands using the runners shell
- name: GCP Setup
uses: google-github-actions/setup-gcloud@v0
with:
project_id: ${{ secrets.GCP_VM_PROJECT_ID }}
service_account_key: ${{ secrets.GCP_COUCHBASE_PUBLIC_SA_KEY }}
export_default_credentials: true
- name: Build CBS BYOL Package
run: bash ${GITHUB_WORKSPACE}/gcp/couchbase-enterprise-edition-byol/makeArchives.sh
- name: Build CBS Hourly Package
run: bash ${GITHUB_WORKSPACE}/gcp/couchbase-enterprise-edition-hourly-pricing/makeArchives.sh
- name: Build SG BYOL Package
run: bash ${GITHUB_WORKSPACE}/gcp/couchbase-sync-gateway-byol/makeArchives.sh
- name: Build SG Hourly Package
run: bash ${GITHUB_WORKSPACE}/gcp/couchbase-sync-gateway-hourly-pricing/makeArchives.sh
- name: Build Couchbae Server Enterprise Edition - Hourly Package
run: bash ${GITHUB_WORKSPACE}/gcp/couchbase-server/makeArchives.sh
- name: Build Couchbae Server Enterprise Edition - BYOL Package
run: bash ${GITHUB_WORKSPACE}/gcp/couchbase-server/makeArchives.sh -b
- name: Build Couchbae Sync Gateway - Hourly Package
run: bash ${GITHUB_WORKSPACE}/gcp/couchbase-sync-gateway/makeArchives.sh
- name: Build Couchbae Sync Gateway - BYOL Package
run: bash ${GITHUB_WORKSPACE}/gcp/couchbase-sync-gateway/makeArchives.sh -b
- name: Upload CBS Package - Hourly
id: upload-cbs-asset-hourly
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/gcp/couchbase-server/gcp-cbs-archive.zip
asset_name: gcp-cbs-archive.zip
asset_content_type: application/zip
- name: Upload CBS Package - BYOL
id: upload-cbs-asset-byol
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/gcp/couchbase-server/gcp-cbs-byol-archive.zip
asset_name: gcp-cbs-byol-archive.zip
asset_content_type: application/zip
- name: Upload CBS BYOL Package
id: upload-cbs-byol-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/gcp/couchbase-enterprise-edition-byol/gcp-cbs-archive-byol.zip
asset_name: gcp-cbs-archive-byol-deprecated.zip
asset_content_type: application/zip
- name: Upload CBS Hourly Package
id: upload-cbs-hourly-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/gcp/couchbase-enterprise-edition-hourly-pricing/gcp-cbs-archive-hourly-pricing.zip
asset_name: gcp-cbs-archive-hourly-pricing-deprecated.zip
asset_content_type: application/zip
- name: Upload SG BYOL Package
id: upload-sg-byol-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/gcp/couchbase-sync-gateway-byol/gcp-sg-archive-byol.zip
asset_name: gcp-sg-archive-byol-deprecated.zip
asset_content_type: application/zip
- name: Upload SG Hourly Package
id: upload-sg-hourly-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/gcp/couchbase-sync-gateway-hourly-pricing/gcp-sg-archive-hourly-pricing.zip
asset_name: gcp-sg-archive-hourly-pricing-deprecated.zip
asset_content_type: application/zip
- name: Upload Gateway Package - Hourly
id: upload-sg-asset-hourly
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/gcp/couchbase-sync-gateway/gcp-gateway-archive.zip
asset_name: gcp-gateway-archive.zip
asset_content_type: application/zip
- name: Upload Gateway Package - BYOL
id: upload-sg-asset-byol
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build/gcp/couchbase-sync-gateway/gcp-gateway-byol-archive.zip
asset_name: gcp-gateway-byol-archive.zip
asset_content_type: application/zip