-
Notifications
You must be signed in to change notification settings - Fork 63
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1,371 changed files
with
30,251 additions
and
18,583 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
name: Latest release | ||
description: Report the latest release of the current repo | ||
outputs: | ||
ref: | ||
value: ${{ steps.find.outputs.ref }} | ||
description: The latest semver tag | ||
ver: | ||
value: ${{ steps.find.outputs.ver }} | ||
description: The semver corresponding to the latest semver tag | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Install semver-tool | ||
run: | | ||
wget -O /usr/local/bin/semver https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver | ||
chmod +x /usr/local/bin/semver | ||
semver --version | ||
shell: bash | ||
- name: Fetch all tags | ||
run: git fetch --all --tags | ||
shell: bash | ||
- name: Fetch latest-release script | ||
run: | | ||
wget https://raw.githubusercontent.com/lf-lang/lingua-franca/master/.github/scripts/latest-release.sh | ||
chmod +x latest-release.sh | ||
shell: bash | ||
- name: Find the latest release | ||
id: find | ||
run: | | ||
export tag=$(./latest-release.sh) | ||
echo "ref=${tag}" >> $GITHUB_OUTPUT | ||
shopt -s extglob | ||
export ver="${tag##v}" | ||
echo "ver=${ver}" >> $GITHUB_OUTPUT | ||
echo "Latest release tag: ${tag}" | ||
echo "Without a leading 'v': ${ver}" | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,42 +1,28 @@ | ||
name: Prepare build environment (Linux only) | ||
description: Set up Java, Maven, Gradle, etc. | ||
name: Set up build environment | ||
description: Set up Java and Gradle (including caching). | ||
|
||
inputs: | ||
lingua-franca-dir: | ||
description: 'Path to the lingua-franca directory' | ||
required: false | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Set up Java 17 | ||
run: | | ||
echo "$JAVA_HOME_17_X64/bin" >> $GITHUB_PATH | ||
echo "org.gradle.java.home=${JAVA_HOME_17_X64//\\/\/}" >> gradle.properties | ||
echo "JAVA_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV | ||
shell: bash | ||
- name: Check settings | ||
run: | | ||
echo $(which java) | ||
cat gradle.properties | ||
echo $JAVA_HOME | ||
shell: bash | ||
- name: Create hash of Gradle configuration (macOS only) | ||
run: | | ||
echo "gradle-hash"="$(find . -type f \( -name "gradle.properties" -o -name "gradle-wrapper.properties" \) -exec cat {} + | shasum -a 256 | cut -d ' ' -f 1)" >> $GITHUB_ENV | ||
if: ${{ runner.os == 'macOS' }} | ||
shell: bash | ||
- name: Create hash of Gradle configuration (Linux and Windows only) | ||
run: | | ||
echo "gradle-hash"="$(find . -type f \( -name "gradle.properties" -o -name "gradle-wrapper.properties" \) -exec cat {} + | sha256sum | cut -d ' ' -f 1)" >> $GITHUB_ENV | ||
if: ${{ runner.os == 'Windows' || runner.os == 'Linux' }} | ||
shell: bash | ||
- name: Cache | ||
uses: actions/cache@v3 | ||
- uses: actions/setup-java@v3 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: gradle-${{ runner.os }}-${{ env.gradle-hash }} | ||
# restore-keys: | | ||
# ${{ runner.os }}-gradle- | ||
- name: Bring down Gradle daemon (Windows) | ||
uses: webiny/[email protected] | ||
id: post-run-command | ||
distribution: temurin | ||
java-version: 17 | ||
- name: Gradle Build Action | ||
uses: gradle/[email protected] | ||
with: | ||
run: ./gradlew --stop | ||
if: ${{ runner.os == 'Windows' }} | ||
cache-read-only: false | ||
- name: Download Gradle and print version | ||
working-directory: ${{ inputs.lingua-franca-dir }} | ||
run: | | ||
# Retry 3 times before the steps actually fails | ||
(echo "==== Gradle Download Attempt: 1 ====" && ./gradlew --version) || \ | ||
(sleep 30 && echo "==== Gradle Download Attempt: 2 ====" && ./gradlew --version) || \ | ||
(sleep 30 && echo "==== Gradle Download Attempt: 3 ====" && ./gradlew --version) || \ | ||
(echo "==== Gradle Download Failed ====" && exit 1) | ||
shell: bash |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Report code coverage to CodeCov | ||
inputs: | ||
files: | ||
description: 'list of coverage files to send to CodeCov' | ||
required: true | ||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Report code coverage to CodeCov (1st try) | ||
id: codecov1 | ||
uses: codecov/[email protected] | ||
with: | ||
files: ${{ inputs.files }} | ||
fail_ci_if_error: true | ||
verbose: true | ||
token: 18fd5ab8-d6ba-4f5d-b0f4-7c26340ab98c | ||
continue-on-error: true | ||
- name: Wait 20 seconds | ||
run: sleep 20 | ||
shell: bash | ||
if: steps.codecov1.outcome == 'failure' | ||
- name: Report code coverage to CodeCov (2nd try) | ||
id: codecov2 | ||
uses: codecov/[email protected] | ||
with: | ||
files: ${{ inputs.files }} | ||
fail_ci_if_error: true | ||
verbose: true | ||
token: 18fd5ab8-d6ba-4f5d-b0f4-7c26340ab98c | ||
continue-on-error: true | ||
if: steps.codecov1.outcome == 'failure' | ||
- name: Wait 20 seconds | ||
run: sleep 20 | ||
shell: bash | ||
if: steps.codecov2.outcome == 'failure' | ||
- name: Report code coverage to CodeCov (3rd try) | ||
id: codecov3 | ||
uses: codecov/[email protected] | ||
with: | ||
files: ${{ inputs.files }} | ||
fail_ci_if_error: true | ||
verbose: true | ||
token: 18fd5ab8-d6ba-4f5d-b0f4-7c26340ab98c | ||
if: steps.codecov2.outcome == 'failure' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: Load global configuration settings for francabot | ||
description: Set up author information and GPG signature | ||
author: Marten Lohstroh <[email protected]> | ||
|
||
inputs: | ||
gpg-key: | ||
description: 'francabot GPG key' | ||
required: true | ||
gpg-passphrase: | ||
description: 'francabot GPG passphrase' | ||
required: true | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
- name: Set environment variables | ||
run: | | ||
echo "username=lingua-franca[bot]" >> "$GITHUB_ENV" | ||
echo "[email protected]" >> "$GITHUB_ENV" | ||
echo "user-and-email=lingua-franca[bot] <[email protected]>" >> "$GITHUB_ENV" | ||
shell: bash | ||
- name: Configure git username and email | ||
run: | | ||
git config --global user.name '${{ env.username }}' | ||
git config --global user.email '${{ env.email }}' | ||
shell: bash | ||
- name: Import GPG key | ||
uses: crazy-max/ghaction-import-gpg@v5 | ||
with: | ||
gpg_private_key: ${{ inputs.gpg-key }} | ||
passphrase: ${{ inputs.gpg-passphrase }} | ||
git_config_global: true | ||
git_user_signingkey: true | ||
git_commit_gpgsign: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,11 @@ | ||
#!/bin/bash | ||
|
||
changes() { | ||
git diff --name-only HEAD $(git merge-base HEAD origin/master) | ||
} | ||
|
||
if changes | grep -q $1; then | ||
echo "CHANGED_$2=1" >> $GITHUB_OUTPUT | ||
if changes | grep "$1" | grep -q -v "^.*md\|txt$"; then | ||
echo "changed_$2=1" >> $GITHUB_OUTPUT | ||
else | ||
echo "CHANGED_$2=0" >> $GITHUB_OUTPUT | ||
echo "changed_$2=0" >> $GITHUB_OUTPUT | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/usr/bin/env bash | ||
|
||
# Exit 1 if any command returns with a non-zero exit code. | ||
set -euo pipefail | ||
|
||
cd $GITHUB_WORKSPACE | ||
|
||
function test_with_links() { | ||
rm -rf foo | ||
mkdir -p foo/bar/baz | ||
ln -s ../bin/${1} foo/link-foo | ||
ln -s ../link-foo foo/bar/link-bar | ||
ln -s ../link-bar foo/bar/baz/link-${1} | ||
foo/bar/baz/link-${1} --help | ||
} | ||
|
||
bin/lfd-dev test/C/src/Minimal.lf | ||
|
||
# Ensure that lfd can be invoked via symbolic links. | ||
test_with_links "lfd-dev" | ||
|
||
# Ensure that lfd can be invoked from outside the root directory. | ||
cd bin | ||
./lfd-dev --help | ||
cd .. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.