Manual triggers for actions

This commit is contained in:
Valentin Niess
2023-11-11 00:48:39 +01:00
parent 4bc98f48d4
commit a2a075f9db
4 changed files with 66 additions and 126 deletions

View File

@@ -1,105 +1,36 @@
name: AppImage
on:
push:
branches:
- master
paths:
- '.github/workflows/appimage.yml'
- 'python_appimage/**'
workflow_dispatch:
inputs:
dry:
description: 'Dry run'
required: true
type: boolean
all:
description: 'Update all'
required: true
type: boolean
schedule:
- cron: '0 3 * * 0'
jobs:
Build:
Update:
runs-on: ubuntu-latest
strategy:
matrix:
image: ['1', '2010', '2014', '2_24', '2_28']
arch: [x86_64, i686]
tag: [cp27-cp27m, cp27-cp27mu, cp35-cp35m, cp36-cp36m, cp37-cp37m,
cp38-cp38, cp39-cp39, cp310-cp310, cp311-cp311]
exclude:
- image: '1'
tag: cp310-cp310
- image: '1'
tag: cp311-cp311
- image: '2010'
tag: cp27-cp27m
- image: '2010'
tag: cp27-cp27mu
- image: '2010'
tag: cp35-cp35m
- image: '2010'
tag: cp311-cp311
- image: '2014'
tag: cp27-cp27m
- image: '2014'
tag: cp27-cp27mu
- image: '2014'
tag: cp35-cp35m
- image: '2_24'
tag: cp27-cp27m
- image: '2_24'
tag: cp27-cp27mu
- image: '2_24'
tag: cp35-cp35m
- image: '2_28'
tag: cp27-cp27m
- image: '2_28'
tag: cp27-cp27mu
- image: '2_28'
tag: cp35-cp35m
- image: '2_28'
arch: i686
permissions:
contents: write
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Build
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
- name: Install Dependencies
run: pip install PyGithub
- name: Run updater
run: |
# Build the AppImage
python -m python_appimage build manylinux \
${{ matrix.image }}_${{ matrix.arch }} \
${{ matrix.tag }}
# Export the AppImage name and the Python version
appimage=$(ls python*.AppImage)
SCRIPT=$(cat <<-END
version = '${appimage}'[6:].split('.', 2)
print('{:}.{:}'.format(*version[:2]))
END
)
version=$(python -c "${SCRIPT}")
echo "::set-env name=PYTHON_APPIMAGE::${appimage}"
echo "::set-env name=PYTHON_VERSION::${version}"
- uses: actions/upload-artifact@v1
if: github.ref == 'refs/heads/master'
with:
name: python${{ env.PYTHON_VERSION }}-appimages
path: ${{ env.PYTHON_APPIMAGE }}
Release:
needs: Build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
strategy:
matrix:
version: ['2.7', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10', '3.11']
steps:
- uses: actions/download-artifact@v1
with:
name: python${{ matrix.version }}-appimages
- name: Release
uses: marvinpinto/action-automatic-releases@latest
with:
automatic_release_tag: python${{ matrix.version }}
title: Python ${{ matrix.version }}
files: |
python${{ matrix.version }}-appimages/python*.AppImage
repo_token: ${{ secrets.GITHUB_TOKEN }}
./scripts/update-appimages.py \
--token=${{ secrets.GITHUB_TOKEN }} \
--sha=${{ github.sha }} \
${{ inputs.all && '--all' || '' }} \
${{ inputs.dry && '--dry' || '' }}
env:
PYTHONPATH: ${{ github.workspace }}

View File

@@ -1,12 +1,23 @@
name: Applications
on:
push:
branches:
- master
paths:
- '.github/workflows/applications.yml'
- 'applications/**'
- 'python_appimage/**'
workflow_dispatch:
inputs:
scipy:
required: true
default: true
type: boolean
tasmotizer:
required: true
default: true
type: boolean
xonsh:
required: true
default: true
type: boolean
ssh-mitm:
required: true
default: true
type: boolean
jobs:
Test:
@@ -16,12 +27,13 @@ jobs:
version: ['2.7', '3.7', '3.9']
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.version }}
- name: Test scipy
if: ${{ inputs.scipy }}
run: |
python -m python_appimage build app applications/scipy \
--python-version=2.7 \
@@ -30,6 +42,7 @@ jobs:
./scipy-x86_64.AppImage -c 'import numpy, pandas, scipy'
- name: Test tasmotizer
if: ${{ inputs.tasmotizer }}
run: |
python -m python_appimage build app applications/tasmotizer \
--linux-tag=manylinux1_x86_64 \
@@ -37,13 +50,14 @@ jobs:
test -e tasmotizer-x86_64.AppImage
- name: Test xonsh
if: ${{ inputs.xonsh }}
run: |
python -m python_appimage build app applications/xonsh
test -e xonsh-x86_64.AppImage
./xonsh-x86_64.AppImage -c 'import xonsh'
- name: Test ssh-mitm
if: ${{ matrix.version == '3.9' }}
if: ${{ inputs.ssh_mitm && (matrix.version == '3.9') }}
run: |
python -m python_appimage build app applications/ssh-mitm
test -e ssh-mitm-x86_64.AppImage

View File

@@ -1,13 +0,0 @@
name: Delete artifacts
on:
schedule:
- cron: '0 3 * * 0'
jobs:
delete-artifacts:
runs-on: ubuntu-latest
steps:
- uses: kolpav/purge-artifacts-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
expire-in: 0days