mirror of
https://github.com/Crosstalk-Solutions/project-nomad.git
synced 2026-04-07 09:16:15 +02:00
build: github actions
This commit is contained in:
parent
3b81e00a69
commit
97434a6f5f
37
.github/workflows/docker.yml
vendored
Normal file
37
.github/workflows/docker.yml
vendored
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
name: Build Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: 'Semantic version to label the Docker image under'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check_authorization:
|
||||||
|
name: Check authorization to publish new Docker image
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
isAuthorized: ${{ steps.check-auth.outputs.is_authorized }}
|
||||||
|
steps:
|
||||||
|
- name: check-auth
|
||||||
|
id: check-auth
|
||||||
|
run: echo "is_authorized=${{ contains(secrets.DEPLOYMENT_AUTHORIZED_USERS, github.triggering_actor) }}" >> $GITHUB_OUTPUT
|
||||||
|
build:
|
||||||
|
name: Build Docker image
|
||||||
|
needs: check_authorization
|
||||||
|
if: needs.check_authorization.outputs.isAuthorized == 'true'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Log in to GitHub Container Registry
|
||||||
|
uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v4
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: ghcr.io/crosstalk-solutions/project-nomad-admin:${{ inputs.version }}
|
||||||
37
.github/workflows/release.yml
vendored
Normal file
37
.github/workflows/release.yml
vendored
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
name: Release SemVer
|
||||||
|
|
||||||
|
on: workflow_dispatch
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check_authorization:
|
||||||
|
name: Check authorization to release new version
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
isAuthorized: ${{ steps.check-auth.outputs.is_authorized }}
|
||||||
|
steps:
|
||||||
|
- name: check-auth
|
||||||
|
id: check-auth
|
||||||
|
run: echo "is_authorized=${{ contains(secrets.DEPLOYMENT_AUTHORIZED_USERS, github.triggering_actor) }}" >> $GITHUB_OUTPUT
|
||||||
|
release:
|
||||||
|
name: Release
|
||||||
|
needs: check_authorization
|
||||||
|
if: needs.check_authorization.outputs.isAuthorized == 'true'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
didRelease: ${{ steps.semver.outputs.new_release_published }}
|
||||||
|
newVersion: ${{ steps.semver.outputs.new_release_version }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
persist-credentials: false
|
||||||
|
- name: semantic-release
|
||||||
|
uses: cycjimmy/semantic-release-action@v3
|
||||||
|
id: semver
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.COSMISTACKBOT_ACCESS_TOKEN }}
|
||||||
|
GIT_AUTHOR_NAME: cosmistack-bot
|
||||||
|
GIT_AUTHOR_EMAIL: dev@cosmistack.com
|
||||||
|
GIT_COMMITTER_NAME: cosmistack-bot
|
||||||
|
GIT_COMMITTER_EMAIL: dev@cosmistack.com
|
||||||
15
.releaserc.json
Normal file
15
.releaserc.json
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"branches": ["master"],
|
||||||
|
"plugins": [
|
||||||
|
"@semantic-release/commit-analyzer",
|
||||||
|
"@semantic-release/release-notes-generator",
|
||||||
|
["@semantic-release/npm", {
|
||||||
|
"npmPublish": false
|
||||||
|
}],
|
||||||
|
["@semantic-release/git", {
|
||||||
|
"assets": ["package.json"],
|
||||||
|
"message": "chore(release): ${nextRelease.version} [skip ci]"
|
||||||
|
}],
|
||||||
|
"@semantic-release/github"
|
||||||
|
]
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user