From d4145120a448041c9ecf849063fe0932dff28001 Mon Sep 17 00:00:00 2001 From: Badlop Date: Thu, 13 Jan 2022 11:10:50 +0100 Subject: [PATCH] Test changes in mix independently --- .github/workflows/test-mix.yml | 66 ++++++++++++++++++++++++++++++++++ .github/workflows/tests.yml | 2 ++ 2 files changed, 68 insertions(+) create mode 100644 .github/workflows/test-mix.yml diff --git a/.github/workflows/test-mix.yml b/.github/workflows/test-mix.yml new file mode 100644 index 0000000..b479085 --- /dev/null +++ b/.github/workflows/test-mix.yml @@ -0,0 +1,66 @@ +name: Test Mix + +on: + push: + paths-ignore: + - '**.md' + - '**.bat' + - 'ecs/**' + pull_request: + paths-ignore: + - '**.md' + - '**.bat' + - 'ecs/**' + +jobs: + build-mix: + name: Build Mix + runs-on: ubuntu-20.04 + strategy: + fail-fast: true + max-parallel: 1 + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build mix image + run: | + (cd mix && docker build -t ejabberd/mix .) + + - name: Build ecs image + run: | + cd ecs + ./build.sh latest + + - name: Run ecs image + run: | + docker images + docker run --name ejabberd -d -p 5222:5222 ejabberd/ecs:latest + + - name: Wait ejabberd started + run: | + docker exec ejabberd bin/ejabberdctl started + + - name: Check ecs results + run: | + docker ps -s + docker logs ejabberd + docker logs ejabberd | grep -q "Start accepting TCP connections" || exit 1 + docker logs ejabberd | grep -q "error" && exit 1 || exit 0 + docker logs ejabberd | grep -q "Error" && exit 1 || exit 0 + + - name: Save image + run: | + docker image save ejabberd/ecs:latest --output ejabberd-latest.tar + + - name: Upload image + uses: actions/upload-artifact@v2 + with: + name: ejabberd-image + path: ejabberd-latest.tar + + - run: | + echo "::notice::To get this image, download ejabberd-image.zip, "\ + "uncompress it and run: " \ + "docker image load -i ejabberd-latest.tar" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1f34139..48c9af8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,10 +5,12 @@ on: paths-ignore: - '**.md' - '**.bat' + - 'mix/**' pull_request: paths-ignore: - '**.md' - '**.bat' + - 'mix/**' jobs: build: