Update actions/setup-java action to v4.7.1 #18
This file contains hidden or 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
name: Test Install Script | |
on: | |
pull_request: | |
paths: | |
- 'install.sh' | |
- '.github/workflows/test_install_script.yml' | |
release: | |
types: [released] | |
jobs: | |
test_install_script: | |
strategy: | |
matrix: | |
runner: | |
- ubuntu-24.04 | |
- macos-14 | |
version: | |
- '0.3.0' | |
- '0.4.0' | |
- '0.5.0' | |
- '0.6.0' | |
- '' | |
exclude: | |
- runner: macos-14 | |
version: 0.3.0 | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4.2.2 | |
- name: Setup JDK | |
uses: actions/setup-java@v4.7.1 | |
with: | |
distribution: 'temurin' | |
java-version: 17 | |
# HOME directory needs to be accessible by _www, so the java executable can be used | |
# not needed for linux, because JDK is not put in user directory | |
- name: Set launchd path | |
if: ${{ startsWith(matrix.runner, 'macos') }} | |
run: | | |
chmod o+rx "$HOME" | |
sudo launchctl setenv JAVA_HOME "$JAVA_HOME" | |
- name: install latest version | |
if: ${{ matrix.version == '' }} | |
run: sudo --preserve-env ./install.sh | |
env: | |
GH_TOKEN: ${{ github.token }} | |
- name: install specific version | |
if: ${{ matrix.version != '' }} | |
run: sudo --preserve-env ./install.sh --release-version ${{ matrix.version }} | |
env: | |
GH_TOKEN: ${{ github.token }} | |
- name: setup socket | |
run: | | |
sudo mkdir -p /var/run/kss/ | |
sudo chmod a+w /var/run/kss/ | |
- name: add timeout command to osx | |
if: ${{ startsWith(matrix.runner, 'macos') }} | |
run: | | |
brew install coreutils | |
sudo ln -s /usr/local/bin/gtimeout /usr/local/bin/timeout | |
- name: check install | |
# 124 is cancelled after timeout | |
run: | | |
timeout 5s kss || exit_code=$? | |
if [ "$exit_code" -ne 124 ] | |
then | |
echo "expected exit code 124 but was $exit_code" | |
exit "$exit_code" | |
fi | |
- name: setup runner config | |
id: runner_config | |
run: | | |
if [[ '${{ matrix.runner }}' == ubuntu* ]] | |
then | |
echo 'config_dir=/usr/share/kss/' >> $GITHUB_OUTPUT | |
echo 'start_cmd=systemctl start kss' >> $GITHUB_OUTPUT | |
echo 'user=www-data' >> $GITHUB_OUTPUT | |
else | |
echo 'config_dir=/Library/Application Support/kss/' >> $GITHUB_OUTPUT | |
echo 'start_cmd=launchctl load -w /Library/LaunchDaemons/kss.plist' >> $GITHUB_OUTPUT | |
echo 'user=_www' >> $GITHUB_OUTPUT | |
fi | |
- name: setup socket | |
run: | | |
sudo mkdir -p /var/run/kss/ | |
sudo chown '${{ steps.runner_config.outputs.user }}' /var/run/kss/ | |
- name: Start kss | |
run: | | |
sudo cp .github/config/logback.xml '${{ steps.runner_config.outputs.config_dir }}kss.logback.xml' | |
echo "logging.logback.configurationFile=${{ steps.runner_config.outputs.config_dir }}kss.logback.xml" >> kss.properties | |
echo "dependencies.maven.homeDirectory=${{ steps.runner_config.outputs.config_dir }}.m2" >> kss.properties | |
sudo chown '${{ steps.runner_config.outputs.user }}' '${{ steps.runner_config.outputs.config_dir }}' | |
sudo mkdir '${{ steps.runner_config.outputs.config_dir }}.m2' | |
sudo chown '${{ steps.runner_config.outputs.user }}' '${{ steps.runner_config.outputs.config_dir }}.m2' | |
sudo mv kss.properties '${{ steps.runner_config.outputs.config_dir }}' | |
sudo ${{ steps.runner_config.outputs.start_cmd }} | |
sleep 5 | |
- name: test linux service exists | |
if: ${{ startsWith(matrix.runner, 'ubuntu') }} | |
run: systemctl status kss.service | |
- name: test macos service exists | |
if: ${{ startsWith(matrix.runner, 'macos') }} | |
run: sudo launchctl list 'net.edwardday.kss' | |
- name: upgrade to latest version | |
run: | | |
sudo --preserve-env ./install.sh | |
sleep 5 | |
env: | |
GH_TOKEN: ${{ github.token }} | |
- name: test linux service exists after upgrade | |
if: ${{ startsWith(matrix.runner, 'ubuntu') }} | |
run: systemctl status kss.service | |
- name: test macos service exists after upgrade | |
if: ${{ startsWith(matrix.runner, 'macos') }} | |
run: sudo launchctl list 'net.edwardday.kss' |