Skip to content

Commit

Permalink
feat: add github action (#4229)
Browse files Browse the repository at this point in the history
Co-authored-by: joyceliu <joyceliu@yunify.com>
  • Loading branch information
redscholar and joyceliu authored Oct 26, 2023
1 parent 8f171db commit eaeb426
Show file tree
Hide file tree
Showing 3 changed files with 193 additions and 0 deletions.
68 changes: 68 additions & 0 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Main

on:
push:
# Publish `master` as Docker `latest` image.
branches:
# - master
# - dev
- release-*

# Publish `v1.2.3` tags as releases.
tags:
- v*

# Run build for any PRs.
pull_request:

jobs:
build-and-push:
runs-on: self-hosted

strategy:
matrix:
node-version: [12.18.x]

steps:
- uses: actions/checkout@v2

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

- name: Install Dependencies
run: npm i -g yarn && yarn

- name: Build
run: yarn build

- name: Test
run: yarn test

- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Docker login
if: github.event_name == 'push'
uses: docker/login-action@v1
with:
registry: registry.cn-beijing.aliyuncs.com
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Push image
if: github.event_name == 'push'
run: |
TAG=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') REPO=registry.cn-beijing.aliyuncs.com/kubesphereio make container-cross-push
- name: slack
uses: 8398a7/action-slack@v3
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
with:
status: ${{ job.status }}
fields: repo,message,commit,author,action,eventName,ref,workflow,job,took
if: failure()
63 changes: 63 additions & 0 deletions .github/workflows/manually.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: ManuallyCrossBuild

on:
workflow_dispatch:

jobs:
build-and-push:
runs-on: self-hosted

strategy:
matrix:
node-version: [12.18.x]

steps:
- uses: actions/checkout@v2

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

- name: Install Dependencies
run: npm i -g yarn && yarn

- name: Build
run: yarn build

- name: Test
run: yarn test

- name: Set up QEMU
if: github.event_name == 'push'
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
if: github.event_name == 'push'
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: v0.7.1
install: true

- name: Docker login
if: github.event_name == 'push'
uses: docker/login-action@v1
with:
registry: registry.cn-beijing.aliyuncs.com
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Push image
if: github.event_name == 'push'
run: |
TAG=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') REPO=registry.cn-beijing.aliyuncs.com/kubesphereio make container-cross-push
- name: slack
uses: 8398a7/action-slack@v3
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
with:
status: ${{ job.status }}
fields: repo,message,commit,author,action,eventName,ref,workflow,job,took
if: failure()
62 changes: 62 additions & 0 deletions .github/workflows/nightly-builds.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: NightlyBuild

on:
schedule:
# This is a UTC time
- cron: "0 16 * * *"
# Keep it only for test purpose, comment it once everything is ok
workflow_dispatch:

jobs:
build-and-push:
runs-on: self-hosted

strategy:
matrix:
node-version: [ '14.x' ]

steps:
- uses: actions/checkout@v2

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}

- name: Install Dependencies
run: |
git branch
npm i -g yarn && yarn
- name: Build
run: yarn build

- name: Test
run: yarn test

- name: Set up QEMU
uses: docker/setup-qemu-action@v1

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1

- name: Docker login
uses: docker/login-action@v1
with:
registry: registry.cn-beijing.aliyuncs.com
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: Push image
run: |
TAG=nightly-$(date '+%Y%m%d') REPO=registry.cn-beijing.aliyuncs.com/kubesphereio make container-cross-push
# - name: slack
# uses: 8398a7/action-slack@v3
# env:
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
# with:
# status: ${{ job.status }}
# fields: repo,message,commit,author,action,eventName,ref,workflow,job,took
# if: failure()

0 comments on commit eaeb426

Please sign in to comment.