Browse Source

Merge pull request #2276 from gravitl/NET-110

release workflows
Alex Feiszli 2 years ago
parent
commit
a25f23f6fb

+ 2 - 2
.github/workflows/deletedroplets.yml

@@ -23,7 +23,7 @@ jobs:
           webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
           color: "#42f545"
           username: "GitHub Bot"
-          message: "${{ github.respository }}: ${{ github.event.workflow_run.name }} was successful"
+          message: "${{ github.repository }}: ${{ github.event.workflow_run.name }} was successful"
           file: ./results/results.log
       - name: discord server message
         uses: appleboy/discord-action@master
@@ -62,7 +62,7 @@ jobs:
           webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
           color: "#990000"
           username: "GitHub Bot"
-          message: "${{ github.respository }}: ${{ github.event.workflow_run.name }} failed"
+          message: "${{ github.repository }}: ${{ github.event.workflow_run.name }} failed"
           file: ./results/results.log
       - name: discord server message
         uses: appleboy/discord-action@master

+ 0 - 46
.github/workflows/packages.yml

@@ -1,46 +0,0 @@
-name: Build linux packages
-on:
-  workflow_call:
-    inputs:
-      version:
-        required: true
-        type: string
-  workflow_dispatch:
-    inputs:
-      version:
-        description: "netmaker version"
-        required: true
-  release:
-    types: [released]
-
-jobs:
-
-  packages:
-    runs-on: ubuntu-latest
-    steps:
-      - name: setup ssh
-        run: |
-          mkdir -p ~/.ssh/
-          echo "$SSH_KEY" > ~/.ssh/id_devops
-          chmod 600 ~/.ssh/id_devops
-          cat >>~/.ssh/config <<END
-          Host *.clustercat.com
-            User root
-            IdentityFile ~/.ssh/id_devops
-            StrictHostKeyChecking no
-          END
-        env:
-          SSH_KEY: ${{ secrets.TESTING_SSH_KEY }}
-      - name: set version
-        run: |
-          if [[ -n "${{ github.event.inputs.version }}" ]]; then
-            # remove everything but digits and . for package (deb, rpm, etc) versions
-            VERSION=$(echo ${{ github.event.inputs.version }} | tr -cd '[:digit:].')
-          else
-            VERSION=$(echo ${{ github.ref.name }} | tr -cd '[:digit:].')
-          fi
-            echo "VERSION=${VERSION}" >> $GITHUB_ENV
-            echo ${VERSION}
-      - name: apt/rpm
-        run: |
-          ssh fileserver.clustercat.com "cd packages/nmcli; export VERSION=${{ ENV.version }}; export REVISION=0; ./buildall.sh "

+ 19 - 0
.github/workflows/pre-release.yml

@@ -0,0 +1,19 @@
+# creates a release from develop
+# creates release branch, generates release assets, publishes docker image and copies release.md to release
+# linux packages are generated and a PR from release branch to master is created 
+name: Release
+
+on:
+  workflow_dispatch:
+    inputs:
+      version:
+        description: "new version number"
+        required: true
+
+jobs:
+
+  release:
+    uses: gravitl/devops/.github/workflows/netmakerPrerelease.yml@master
+    with:
+      version: ${{ inputs.version }}
+    secrets: inherit

+ 0 - 32
.github/workflows/pull-request.yml

@@ -1,32 +0,0 @@
-# creates a PR from release branch to master
-name: Create Release PR to master
-on:
-  workflow_call:
-    inputs:
-      version:
-        required: true
-        type: string
-  workflow_dispatch:
-    inputs:
-      version:
-        description: "netmaker version"
-        required: true
-  release:
-    types: [released]
-
-jobs:
-  pr-to-main:
-    runs-on: ubuntu-latest
-    steps:
-      - name: create pr
-        env:
-          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        run: |
-          gh api --method POST \
-          -H 'Accept: application/vnd.github+json' -H 'X-GitHub-Api-Version: 2022-11-28'  \
-          /repos/${{ github.repository }}/pulls \
-          -f title='${{ github.event.inputs.version }}' \
-          -f head='release_${{ github.event.inputs.version }}' \
-          -f base="master"
-
-

+ 0 - 50
.github/workflows/release-assets.yml

@@ -1,50 +0,0 @@
-# generates release assets and uploads to release 
-name: Upload Release Assets
-on:
-  workflow_call:
-    inputs:
-      version:
-        required: true
-        type: string
-      prerelease:
-        required: true
-        type: boolean
-  workflow_dispatch:
-    inputs:
-      version:
-        description: "netmaker version"
-        required: true
-      prerelease:
-        required: true
-        type: boolean
-        description: "prerelease"
-jobs:
-  release-assets:
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v3
-        with:
-          ref: release_${{ github.event.inputs.version}}
-          fetch-depth: 0
-      - name: Get Tags
-        run: |
-          git fetch --force --tags
-      - name: Setup go
-        uses: actions/setup-go@v4
-        with:
-          go-version: 1.19
-      - name: GoReleaser (full release)
-        if: ${{ github.event.inputs.prerelease == 'false'}}
-        uses: goreleaser/goreleaser-action@v4
-        with:
-          args: release --clean --release-notes release.md
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      - name: GoReleaser (prerelease)
-        if: ${{ github.event.inputs.prerelease == 'false'}}
-        uses: goreleaser/goreleaser-action@v4
-        with:
-          args: release --clean --release-notes release.md -f .goreleaser.prerelease.yaml
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

+ 0 - 39
.github/workflows/release-branch.yml

@@ -1,39 +0,0 @@
-# creates new branch (release_{{ version }} with tag {{ version }} from develop 
-# will fail if branch or tag already exists on github
-name: Create Release Branch
-on:
-  workflow_call:
-    inputs:
-      version:
-        required: true
-        type: string
-  workflow_dispatch:
-    inputs:
-      version:
-        description: "netmaker version"
-        required: true
-jobs:
-  release-branch:
-    runs-on: ubuntu-latest
-    steps:
-      - name: checkout develop
-        uses: actions/checkout@v3
-        with:
-          ref: develop
-      - name: setup go
-        uses: actions/setup-go@v4
-        with:
-          go-version: 1.19
-      - name: setup git
-        run: |
-          git config user.name "Github Actions"
-          git config user.emaail "[email protected]"
-      - name: create release Branch
-        run: |
-          git switch -c release_${{ github.event.inputs.version }}
-          git tag -f ${{ github.event.inputs.version }}
-          #push branch
-          git push origin release_${{ github.event.inputs.version }}
-          #push tag
-          git push origin ${{ github.event.inputs.version }}
-  

+ 4 - 40
.github/workflows/release.yml

@@ -1,6 +1,6 @@
 # creates a release from develop
 # creates release branch, generates release assets, publishes docker image and copies release.md to release
-# if formal release, linux packages are generated and a PR from release branch to master is created 
+# linux packages are generated and a PR from release branch to master is created 
 name: Release
 
 on:
@@ -9,47 +9,11 @@ on:
       version:
         description: "new version number"
         required: true
-      prerelease:
-        required: true
-        type: boolean
-        description: Is this a pre-release
 
 jobs:
 
-  release-branch:
-    uses: ./.github/workflows/release-branch.yml
-    with:
-      version: ${{ github.event.inputs.version }}
-    secrets: inherit
-
-  
-  release-assets:
-    needs: release-branch
-    uses: ./.github/workflows/release-assets.yml
-    with:
-      version: ${{ github.event.inputs.version }}
-      prerelease: ${{ github.event.inputs.prerelease == 'true' }}
-    secrets: inherit
-
-  docker:
-    needs: release-branch
-    uses: ./.github/workflows/publish-docker.yml
-    with:
-      tag: ${{ github.event.inputs.version }}
-    secrets: inherit
-
-  packages:
-    if: ${{ github.event.inputs.prerelease == 'false' }}
-    needs: release-branch
-    uses: ./.github/workflows/packages.yml
-    with:
-      version: ${{ github.event.inputs.version }}
-    secrets: inherit
-
-  pull-request:
-    if: ${{ github.event.inputs.prerelease == 'false' }}
-    needs: release-branch
-    uses: ./.github/workflows/pull-request.yml
+  release:
+    uses: gravitl/devops/.github/workflows/netmakerRelease.yml@master
     with:
-      version: ${{ github.event.inputs.version }}
+      version: ${{ inputs.version }}
     secrets: inherit

+ 0 - 41
.github/workflows/upgraderelease.yml

@@ -1,41 +0,0 @@
-name: UpgradeRelease
-
-on:
-  workflow_dispatch:
-    inputs:
-      version:
-        description: "release/version to update"
-        required: true
-
-jobs:
-
-  update:
-    runs-on: ubuntu-latest
-    steps:
-      - name: checkout
-        uses: actions/checkout@v3
-        with:
-          ref: release_${{ github.event.inputs.version }}
-          fetch-depth: 0
-      - run: |
-          git fetch --force --tags
-      - name: Setup go
-        uses: actions/setup-go@v4
-        with:
-          go-version: 1.19
-      - name: goreleaser
-        uses: goreleaser/goreleaser-action@v4
-        with:
-          args: release --clean --release-notes release.md -f .goreleaser.update.yaml
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN  }}
-
-  packages:
-    uses: ./.github/workflows/packages.yml
-    with:
-      version: ${{ github.event.inputs.version }}
-
-  pull-request:
-    uses: ./.github/workflows/pull-request.yml
-    with:
-      version: ${{ github.event.inputs.version }}