6
0
mirror of https://github.com/ChristianLight/tutor.git synced 2024-09-24 18:39:02 +00:00
tutor/.github/workflows/release.yml
Régis Behmo 553b08636a fix: make binary release compatible with Ubuntu 18.04 in CI
Switching from Travis CI to Github Actions made us switch from Ubuntu 16.04 to
20.04. This causes errors for users running older versions of Ubuntu. I don't
think we can support Ubuntu 16.04 anymore, as it has gone out of support, but
we can at least attempt to support 18.04.

For reference, the reported error seems to be:

    [17871] Error loading Python lib '/tmp/_MEIa1GHWz/libpython3.6m.so.1.0':
    dlopen: /lib/x86_64-linux-gnu/libm.so.6: version GLIBC_2.29’ not found
    (required by /tmp/_MEIa1GHWz/libpython3.6m.so.1.0)`

See: https://discuss.overhang.io/t/error-upgrading-from-v11-2-9-to-v11-2-10/1557
2021-05-19 23:43:06 +02:00

71 lines
2.3 KiB
YAML

name: Release
on:
push:
tags:
- '*'
jobs:
release:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-18.04
locale: C.UTF-8
- os: macos-10.15
locale: en_US.UTF-8
env:
LC_ALL: ${{ matrix.locale }}
LANG: ${{ matrix.locale }}
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.6
- name: Upgrade pip
run: python -m pip install --upgrade pip setuptools==44.0.0
- name: Print info about the current python installation
run: make ci-info
- name: Install requirements
run: make bootstrap-dev-plugins
- name: Run tests
run: make tests
- name: Create bundle
run: make bundle
- name: Test bundle
run: make ci-test-bundle
- name: Get release description
id: release-description
# We must escape multi-line string, as per:
# https://medium.com/agorapulse-stories/how-to-work-with-multiline-string-variables-in-github-actions-23f56447d209
run: |
make release-description
cat release_description.md
description="$(cat release_description.md)"
description="${description//'%'/'%25'}"
description="${description//$'\n'/'%0A'}"
description="${description//$'\r'/'%0D'}"
echo "::set-output name=text::$description"
shell: bash
- name: Get release file name
id: release-file
run: echo "::set-output name=filename::tutor-$(uname -s)_$(uname -m)"
shell: bash
- name: Debug release variables
run: |
echo "Publish file '${{ steps.release-file.outputs.filename }}' to release ${{ github.ref }}"
echo "================"
echo "${{ steps.release-description.outputs.text }}"
- name: Upload bundle
# https://github.com/marketplace/actions/upload-files-to-a-github-release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ./dist/tutor
asset_name: "${{ steps.release-file.outputs.filename }}"
tag: ${{ github.ref }}
overwrite: true
body: "${{ steps.release-description.outputs.text }}"