test workflow

This commit is contained in:
mungai-njoroge 2023-10-12 00:28:30 +03:00
parent 8fc32d7dd8
commit 629b3fcde3

107
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,107 @@
name: Release Swing Music
on:
push:
branches:
- main
paths:
- 'client/**'
- 'server/**'
workflow_dispatch:
env:
NODE_VERSION: 18
PYTHON_VERSION: 3.10
jobs:
release-linux:
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VERSION }}
- name: Install client dependencies
run: yarn install
working-directory: ./client
- name: Build client
run: yarn build --outDir ../swingmusic/client
working-directory: ./client
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install server dependencies
run: poetry install
working-directory: ./server
- name: Build server
run: poetry run python manage.py --build
working-directory: ./server
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.head_commit.message.replace('release', '').trim() }}
release_name: ${{ github.event.head_commit.message.replace('release', '').trim() }}
draft: true
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./server/dist/swingmusic
asset_name: swingmusic
asset_content_type: application/octet-stream
release-windows:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ env.NODE_VERSION }}
- name: Install client dependencies
run: yarn install
working-directory: ./client
- name: Build client
run: yarn build --outDir ../swingmusic/client
working-directory: ./client
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install server dependencies
run: poetry install
working-directory: ./server
- name: Build server
run: poetry run python manage.py --build
working-directory: ./server
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.head_commit.message.replace('release', '').trim() }}
release_name: ${{ github.event.head_commit.message.replace('release', '').trim() }}
draft: true
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./server/dist/swingmusic.exe
asset_name: swingmusic.exe
asset_content_type: application/octet-stream