Skip to content

Release Workflow

Release Workflow #4

Workflow file for this run

name: Release Workflow
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20'
- name: Set up PNPM
run: npm install -g pnpm
- name: Install dependencies
run: pnpm install
- name: Build
run: pnpm run build
- name: Release
run: tar -czf build.tar.gz ./build ./package.json ./docker
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./build.tar.gz
asset_name: build.tar.gz
asset_content_type: application/gzip
- name: Create a docker image
env:
NAME: grmi
run: |
docker build -t ${{ env.NAME }}:${{ github.event.release.tag }} -f ./docker/Dockerfile .
docker tag ${{ env.NAME }}:${{ github.event.release.tag }} ${{ secrets.DOCKER_USERNAME }}/${{ env.NAME }}:${{ github.event.release.tag }}
echo ${{ secrets.DOCKER_TOKEN }} | docker login --username ${{ secrets.DOCKER_USERNAME }} --password-stdin
docker push ${{ secrets.DOCKER_USERNAME }}/${{ env.NAME }}:${{ github.event.release.tag }}
docker push ${{ secrets.DOCKER_USERNAME }}/${{ env.NAME }}:latest