Skip to content

Update main.yml

Update main.yml #4

Workflow file for this run

on:
push:
branches:
- master
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
# MANYLINUX_TAG: "2022-10-25-fbea779"
# github.repository as <account>/<repo>
# PYTHON_VERSION: "3.7"
# PYTHON_SHORT_VERSION: "cp37-cp37m"
# PYTHON_FULL_VERSION: "3.7.13"
# QT_VERSION_MAJOR: "5"
# QT_VERSION_MINOR: "15"
# QT_VERSION_PATCH: "2"
# QT_VERSION: "5.15"
# QT_FULL_VERSION: "5.15.2"
# PYSIDE_VERSION: "2"
# LLVM_VERSION: "14.0.6"
# GCC_VERSION: "10.1.0"
jobs:
ubuntu22_04_qhttpserver:
name: "Build the package for Ubuntu 22.04"
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@v1.2.0
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: false
# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: false
swap-storage: true
- name: Build image
run: docker build -f ./Dockerfile-ubuntu22.04 -t aymara/qhttpserver-ubuntu22.04:build .
- name: Extract package and version number from docker iamge
id: extract
shell: bash
run: dockerImage="aymara/qhttpserver-ubuntu22.04:build" \
&& id=$(docker run -d "$dockerImage" sleep infinity) \
&& echo -n "export fullname=/usr/share/apps/qhttpserver/packages/" > ./envFile \
&& docker exec $id ls /usr/share/apps/qhttpserver/packages/ >> ./envFile \
&& echo "export filename=\$(basename -- \$fullname)" >> ./envFile \
&& echo "export trimmed=\$(basename \$filename .deb)" >> ./envFile \
&& echo "tmp=\${trimmed#*-}" >> ./envFile \
&& echo "export version=\${tmp%-*}" >> ./envFile \
&& echo "::set-output name=filename::$(. envFile && echo $filename)"
&& echo "::set-output name=version::$(. envFile && echo $version)"
&& . envFile && docker cp $id:$fullname - > ./$filename \
&& docker stop $id \
&& docker rm -v $id
- name: release
uses: actions/create-release@v1
id: create_release
with:
draft: false
prerelease: false
release_name: ${{ steps.extract.outputs.version }}
tag_name: ${{ github.ref }}
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Upload package
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./${{ steps.extract.outputs.filename }}
asset_name: ${{ steps.extract.outputs.filename }}
asset_content_type: application/vnd.debian.binary-package