Skip to content

Update actions/setup-java action to v4.7.1 #18

Update actions/setup-java action to v4.7.1

Update actions/setup-java action to v4.7.1 #18

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'