Skip to content

cyclops-CI

cyclops-CI #68

Workflow file for this run

name: cyclops-CI
on:
workflow_dispatch:
inputs:
version:
required: true
description: Version to be used as release name and image tagging
permissions:
contents: write
jobs:
# test-UI:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v2
# - name: Set up Node.js
# uses: actions/setup-node@v2
# - name: Install dependencies
# run: |
# cd ${{ github.workspace }}/cyclops-ui
# npm install --force
# - name: Run tests
# run: |
# cd ${{ github.workspace }}/cyclops-ui
# npm test
# test-controller:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v2
# - name: Unit tests
# run: |
# cd ${{ github.workspace }}/cyclops-ctrl
# make unit-test
build-UI:
# needs:
# - test-UI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
run: |
TAG=${{ github.event.inputs.version }}
docker build cyclops-ui --build-arg VERSION=$TAG -t cyclopsui/cyclops-ui:$TAG
docker push cyclopsui/cyclops-ui:$TAG
build-controller:
# needs:
# - test-controller
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
run: |
TAG=${{ github.event.inputs.version }}
docker build cyclops-ctrl -t cyclopsui/cyclops-ctrl:$TAG
docker push cyclopsui/cyclops-ctrl:$TAG
update-install-manifest:
needs:
- build-UI
- build-controller
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: update install manifest
run: |
TAG=${{ github.event.inputs.version }}
INSTALL_YAML=$GITHUB_WORKSPACE/install/cyclops-install.yaml
sed -i 's/cyclopsui\/cyclops-ctrl\:.*/cyclopsui\/cyclops-ctrl\:'$TAG'/' $INSTALL_YAML
sed -i 's/cyclopsui\/cyclops-ui\:.*/cyclopsui\/cyclops-ui\:'$TAG'/' $INSTALL_YAML
# update file
git fetch origin ${{ steps.extract_branch.outputs.branch }}
git checkout ${{ steps.extract_branch.outputs.branch }}
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
git status
git add $INSTALL_YAML
git commit -m '⚙️ update cyclops to '$TAG
git push origin HEAD:${{ steps.extract_branch.outputs.branch }}
release:
needs:
- update-install-manifest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Extract branch name
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: Create release
env:
GH_TOKEN: ${{ github.token }}
run: |
if [ "${{ steps.extract_branch.outputs.branch }}" = "main" ]; then
gh release create ${{ github.event.inputs.version }} \
--repo="https://github.com/cyclops-ui/cyclops" \
--title="${{ github.event.inputs.version }}" \
--generate-notes
else
gh release create ${{ github.event.inputs.version }} \
--repo="https://github.com/cyclops-ui/cyclops" \
--title="${{ github.event.inputs.version }}" \
--generate-notes \
--target ${{ steps.extract_branch.outputs.branch }}\
--prerelease
fi