Newer
Older
---
name: Build release
on: # yamllint disable-line rule:truthy
push:
tags:
- '*'
jobs:
build:
name: Build release
runs-on: [ubuntu-latest]
steps:
- name: Setup PHP, with composer and extensions
id: setup-php
# https://github.com/shivammathur/setup-php
uses: shivammathur/setup-php@v2
with:
php-version: '8.0'
tools: composer:v2
extensions: mbstring, xml
- name: Setup problem matchers for PHP
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
# Store the version, stripping any v-prefix
- name: Write release version
run: |
TAG=${{ github.ref_name }}
echo "VERSION=${TAG#v}" >> $GITHUB_ENV
- uses: actions/checkout@v3
- name: Validate composer.json and composer.lock
run: composer validate
- name: Set version in composer.json
- name: Install Composer dependencies
run: composer install --no-progress --no-dev --prefer-dist --optimize-autoloader
- name: Clean release
run: |
grep export-ignore .gitattributes | cut -d ' ' -f 1 | while IFS= read -r line
done
rm -rf .git
- name: Build tarball
run: |
cd ..
cp -R simplesamlphp "simplesamlphp-$VERSION"
tar --owner 0 --group 0 -cvzf "/tmp/simplesamlphp-$VERSION.tar.gz" \
"simplesamlphp-$VERSION"
- name: Save tarball
uses: actions/upload-artifact@v3
with:
name: release
retention-days: 1
- name: Calculate SHA checksum