Skip to content
Snippets Groups Projects
Unverified Commit 43c62427 authored by Tim van Dijen's avatar Tim van Dijen Committed by GitHub
Browse files

Feature/full tarball (#1834)

* Build multiple tarballs
parent 41d9254b
No related branches found
No related tags found
No related merge requests found
{
"modules": {
"authorize": {
"repository": "simplesamlphp/simplesamlphp-module-authorize",
"version": "dev-master"
},
"consent": {
"repository": "simplesamlphp/simplesamlphp-module-consent",
"version": "dev-master"
},
"consentadmin": {
"repository": "simplesamlphp/simplesamlphp-module-consentadmin",
"version": "dev-master"
},
"discopower": {
"repository": "simplesamlphp/simplesamlphp-module-discopower",
"version": "dev-master"
},
"ldap": {
"repository": "simplesamlphp/simplesamlphp-module-ldap",
"version": "dev-master"
},
"metarefresh": {
"repository": "simplesamlphp/simplesamlphp-module-metarefresh",
"version": "dev-master"
},
"radius": {
"repository": "simplesamlphp/simplesamlphp-module-radius",
"version": "dev-master"
},
"statistics": {
"repository": "simplesamlphp/simplesamlphp-module-statistics",
"version": "dev-master"
},
"sqlauth": {
"repository": "simplesamlphp/simplesamlphp-module-sqlauth",
"version": "dev-master"
}
}
}
{
"modules": {
}
}
......@@ -11,12 +11,18 @@ jobs:
build:
name: Build release
runs-on: [ubuntu-latest]
strategy:
fail-fast: false
matrix:
version: ['slim', 'full']
steps:
- name: Setup PHP, with composer and extensions
id: setup-php
# https://github.com/shivammathur/setup-php
uses: shivammathur/setup-php@v2
with:
# Should match the minimum required version for SimpleSAMLphp
php-version: '8.0'
tools: composer:v2
extensions: mbstring, xml
......@@ -25,24 +31,40 @@ jobs:
- name: Setup problem matchers for PHP
run: echo "::add-matcher::${{ runner.tool_cache }}/php.json"
- uses: actions/checkout@v3
# 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
echo "COMPOSER_VERSION=$(composer config version)" >> "$GITHUB_ENV"
- name: Validate composer.json and composer.lock
run: composer validate
- name: Make sure a version is set in composer.json that matches the tag
if: $(composer config version) != "${{ env.VERSION }}"
if: "${{ env.COMPOSER_VERSION != env.VERSION }}"
run: exit 1
- name: Install Composer dependencies
run: composer install --no-progress --no-dev --prefer-dist --optimize-autoloader
- name: Install SimpleSAMLphp modules
env:
FILE: ".github/build/${{ matrix.version }}.json"
run: |
for k in $(jq '.modules | keys | .[]' "$FILE"); do
module=$(jq -r ".modules[$k]" "$FILE");
if [ -n "$module" ];
then
repository=$(jq -r '.repository' <<< "$module");
v=$(jq -r '.version' <<< "$module");
composer require "$repository:$v" --update-no-dev --ignore-platform-reqs
fi
done
- name: Clean release
run: |
grep export-ignore .gitattributes | cut -d ' ' -f 1 | while IFS= read -r line
......@@ -55,15 +77,16 @@ jobs:
run: |
cd ..
cp -R simplesamlphp "simplesamlphp-$VERSION"
tar --owner 0 --group 0 -cvzf "/tmp/simplesamlphp-$VERSION.tar.gz" \
tar --owner 0 --group 0 -cvzf "/tmp/simplesamlphp-$VERSION-${{ matrix.version }}.tar.gz" \
"simplesamlphp-$VERSION"
rm -rf "simplesamlphp-$VERSION"
- name: Save tarball
uses: actions/upload-artifact@v3
with:
name: release
path: "/tmp/simplesamlphp-${{ env.VERSION }}.tar.gz"
name: release-${{ matrix.version }}
path: "/tmp/simplesamlphp-${{ env.VERSION }}-${{ matrix.version }}.tar.gz"
retention-days: 1
- name: Calculate SHA checksum
run: sha256sum "/tmp/simplesamlphp-$VERSION.tar.gz"
- name: Calculate SHA checksum (${{ matrix.version }})
run: sha256sum "/tmp/simplesamlphp-$VERSION-${{ matrix.version }}.tar.gz"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment