Fix for bitrate mapping see #51 #302
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
name: Integration Test | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{ steps.version.outputs.version }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'adopt' | |
java-version: 21 | |
- name: Build with Maven | |
run: mvn -B package --file pom.xml | |
- name: Extract current maven version | |
run: echo "version=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_OUTPUT | |
id: version | |
shell: bash | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: binary | |
path: target/radiorecorder-${{ steps.version.outputs.version }}-bin.tar.gz | |
run: | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
java: [ 8, 11, 17, 21 ] | |
client: [ JAVA_NET, APACHE_CLIENT_5 ] | |
proxy: [ NO, YES ] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download build | |
uses: actions/download-artifact@v3 | |
with: | |
name: binary | |
- name: Extract build | |
run: | | |
tar -xzvf radiorecorder-${{ needs.build.outputs.version }}-bin.tar.gz | |
- name: Install docker compose | |
run: | | |
sudo apt-get update && sudo apt-get install --yes docker-compose | |
if: matrix.proxy == 'YES' | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'adopt' | |
java-version: ${{ matrix.java }} | |
- name: Start SQUID proxy | |
working-directory: ./.github/docker-compose | |
run: | | |
pwd | |
ls -al | |
docker-compose up --detach | |
if: matrix.proxy == 'YES' | |
- name: Run created binary | |
run: | | |
ARGS="-client ${{ matrix.client }} -abort-after 100 deutschlandfunk -d deutschlandfunk" | |
if [ "${{ matrix.proxy }}" = "YES" ]; then | |
ARGS=$ARGS" -proxy http://localhost:3128/ " | |
fi | |
echo "Args: $ARGS" | |
radiorecorder-${{ needs.build.outputs.version }}/bin/radiorecorder.sh $ARGS | |
- name: Show proxy logs and stop the proxy | |
working-directory: ./.github/docker-compose | |
run: | | |
echo "Access log:" | |
docker exec squid cat /var/log/squid/access.log | |
echo "Container log:" | |
docker-compose logs | |
echo "Shutting down" | |
docker-compose down | |
if: matrix.proxy == 'YES' | |
- name: Test first mp3 file | |
run: | | |
FIRST_MPEG=$(ls deutschlandfunk/*/*.mp3 | head -n1) | |
if [ ! -f "${FIRST_MPEG}" ]; then | |
echo "Not a file: ${FIRST_MPEG}" | |
exit 1 | |
fi | |
FILE_SIZE=$(stat --printf %s ${FIRST_MPEG}) | |
if [ ${FILE_SIZE} -lt 100000 ]; then | |
echo "File ${FIRST_MPEG} is too short: ${FILE_SIZE}" | |
exit 2 | |
else | |
echo "File size of ${FIRST_MPEG}: ${FILE_SIZE}" | |
fi | |
FILE_TYPE="$(file --brief --mime ${FIRST_MPEG})" | |
if [ "${FILE_TYPE}" != "audio/mpeg; charset=binary" ]; then | |
echo "File type is wrong: $(file --mime $(ls deutschlandfunk/*/*.mp3 | head -n1))" | |
exit 3 | |
else | |
echo "File type of ${FIRST_MPEG}: ${FILE_TYPE}" | |
fi | |