Skip to content

Create Release

Create Release #54

on:
workflow_dispatch:
inputs:
release_name:
description: 'Define release name'
required: true
prerelease:
description: 'Pre-Release?'
required: true
default: true
draft:
description: 'Draft?'
required: true
default: true
name: Create Release
jobs:
Create_Draft_On_GitHub:
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.draft_release.outputs.upload_url }}
steps:
- name: Draft Release
id: draft_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
with:
tag_name: ${{ github.event.inputs.release_name }}
release_name: Release ${{ github.event.inputs.release_name }}
draft: ${{ github.event.inputs.draft }}
prerelease: ${{ github.event.inputs.prerelease }}
Create_Linux_Release:
runs-on: ubuntu-latest
needs: Create_Draft_On_GitHub
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
- name: Conda info
shell: bash -l {0}
run: conda info
- name: Creating installer for Linux
shell: bash -l {0}
run: |
cd release/one_click_linux_gui
. ./create_installer_linux.sh
- name: Test installer for Linux
shell: bash -l {0}
run: |
sudo dpkg -i release/one_click_linux_gui/dist/alphastats_gui_installer_linux.deb
- name: Upload Linux Installer
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.Create_Draft_On_GitHub.outputs.upload_url }}
asset_path: release/one_click_linux_gui/dist/alphastats_gui_installer_linux.deb
asset_name: alphastats_gui_installer_linux.deb
asset_content_type: application/octet-stream
Create_MacOS_Release:
runs-on: macos-latest
needs: Create_Draft_On_GitHub
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
- name: Conda info
shell: bash -l {0}
run: conda info
- name: Creating installer for MacOS
shell: bash -l {0}
run: |
cd release/one_click_macos_gui
. ./create_installer_macos.sh
- name: Test installer for MacOS
shell: bash -l {0}
run: |
sudo installer -pkg release/one_click_macos_gui/dist/alphastats_gui_installer_macos.pkg -target /
- name: Upload MacOS Installer
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.Create_Draft_On_GitHub.outputs.upload_url }}
asset_path: release/one_click_macos_gui/dist/alphastats_gui_installer_macos.pkg
asset_name: alphastats_gui_installer_macos.pkg
asset_content_type: application/octet-stream
Create_Windows_Release:
runs-on: windows-latest
needs: Create_Draft_On_GitHub
steps:
- name: Checkout code
uses: actions/checkout@v2
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
python-version: ${{ matrix.python-version }}
- name: Conda info
shell: bash -l {0}
run: conda info
- name: Creating installer for Windows
shell: bash -l {0}
run: |
cd release/one_click_windows_gui
. ./create_installer_windows.sh
- name: Test installer for Windows
shell: bash -l {0}
run: |
cd release/one_click_windows_gui/dist/
echo "TODO, this test seems to freeze the runner..."
# ./alphastats_gui_installer_windows.exe //verysilent //log=log.txt //noicons //tasks= //portable=1
# cat log.txt
- name: Upload Windows Installer
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.Create_Draft_On_GitHub.outputs.upload_url }}
asset_path: release/one_click_windows_gui/dist/alphastats_gui_installer_windows.exe
asset_name: alphastats_gui_installer_windows.exe
asset_content_type: application/octet-stream