Test #275
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" | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "18 18 * * 1,3,5" | |
| push: | |
| branches: ["**"] | |
| paths: | |
| - ".github/workflows/test.yaml" | |
| - "dist/**" | |
| - "src/**" | |
| - "package*.json" | |
| - "requirements*.txt" | |
| - "action.yaml" | |
| - "Dockerfile" | |
| env: | |
| PRIVATE_IMAGE: ${{ vars.PRIVATE_IMAGE || 'smashedr/alpine-private:latest' }} | |
| concurrency: | |
| group: ${{ github.workflow }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: "Test" | |
| if: ${{ !contains(github.event.head_commit.message, '#notest') }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: "Checkout" | |
| uses: actions/checkout@v5 | |
| #- name: "Debug CTX github" | |
| # continue-on-error: true | |
| # env: | |
| # GITHUB_CTX: ${{ toJSON(github) }} | |
| # run: echo "$GITHUB_CTX" | |
| - name: "1: Write YAML" | |
| if: ${{ !cancelled() }} | |
| uses: teunmooij/yaml@v1 | |
| with: | |
| to-file: "docker-compose.yaml" | |
| data: | | |
| {"version":"3.8","services":{"alpine":{"image":"alpine:latest","command":"tail -f /dev/null"}}} | |
| - name: "1: Test Password" | |
| if: ${{ !cancelled() }} | |
| uses: ./ | |
| with: | |
| name: test_stack-deploy | |
| file: docker-compose.yaml | |
| host: ${{ secrets.DOCKER_HOST }} | |
| port: ${{ secrets.DOCKER_PORT }} | |
| user: ${{ secrets.DOCKER_USER }} | |
| pass: ${{ secrets.DOCKER_PASS }} | |
| #ssh_key: ${{ secrets.DOCKER_SSH_KEY }} | |
| detach: false | |
| resolve_image: "changed" | |
| - name: "2: Write YAML" | |
| if: ${{ !cancelled() && !github.event.act }} | |
| uses: teunmooij/yaml@v1 | |
| with: | |
| to-file: "docker-compose.yaml" | |
| data: | | |
| {"version":"3.8","services":{"alpine":{"image":"${{ env.PRIVATE_IMAGE }}","command":"tail -f /dev/null"}}} | |
| - name: "2: Test SSH and Auth" | |
| if: ${{ !cancelled() && !github.event.act }} | |
| uses: ./ | |
| with: | |
| name: test_stack-deploy | |
| file: docker-compose.yaml | |
| host: ${{ secrets.DOCKER_HOST }} | |
| port: ${{ secrets.DOCKER_PORT }} | |
| user: ${{ secrets.DOCKER_USER }} | |
| #pass: ${{ secrets.DOCKER_PASS }} | |
| ssh_key: ${{ secrets.DOCKER_SSH_KEY }} | |
| prune: true | |
| registry_user: ${{ vars.DOCKER_HUB_USER }} | |
| registry_pass: ${{ secrets.DOCKER_HUB_PASS }} | |
| summary: false | |
| - name: "3: Write YAML" | |
| if: ${{ !cancelled() && !github.event.act }} | |
| uses: teunmooij/yaml@v1 | |
| with: | |
| to-file: "docker-compose.yaml" | |
| data: | | |
| {"version":"3.8","services":{"alpine":{"image":"alpine:latest","command":"tail -f /dev/null"}}} | |
| - name: "3: Test Compose" | |
| if: ${{ !cancelled() && !github.event.act }} | |
| uses: ./ | |
| with: | |
| name: test_stack-deploy-compose | |
| file: docker-compose.yaml | |
| host: ${{ secrets.DOCKER_HOST }} | |
| port: ${{ secrets.DOCKER_PORT }} | |
| user: ${{ secrets.DOCKER_USER }} | |
| pass: ${{ secrets.DOCKER_PASS }} | |
| #ssh_key: ${{ secrets.DOCKER_SSH_KEY }} | |
| mode: compose | |
| summary: false | |
| - name: "4: Write YAML" | |
| if: ${{ !cancelled() }} | |
| uses: teunmooij/yaml@v1 | |
| with: | |
| to-file: "docker-compose.yaml" | |
| data: | | |
| {"version":"3.8","services":{"alpine":{"image":"${{ env.PRIVATE_IMAGE }}","command":"tail -f /dev/null"}}} | |
| - name: "4: Test Compose SSH and Auth" | |
| if: ${{ !cancelled() }} | |
| uses: ./ | |
| with: | |
| name: test_stack-deploy-compose | |
| file: docker-compose.yaml | |
| host: ${{ secrets.DOCKER_HOST }} | |
| port: ${{ secrets.DOCKER_PORT }} | |
| user: ${{ secrets.DOCKER_USER }} | |
| #pass: ${{ secrets.DOCKER_PASS }} | |
| ssh_key: ${{ secrets.DOCKER_SSH_KEY }} | |
| mode: compose | |
| registry_user: ${{ vars.DOCKER_HUB_USER }} | |
| registry_pass: ${{ secrets.DOCKER_HUB_PASS }} | |
| - name: "5: Write Base YAML" | |
| if: ${{ !cancelled() }} | |
| uses: teunmooij/yaml@v1 | |
| with: | |
| to-file: "docker-compose.base.yaml" | |
| data: | | |
| {"version":"3.8","services":{"alpine":{"image":"alpine:latest","command":"tail -f /dev/null"}}} | |
| - name: "5: Write Override YAML" | |
| if: ${{ !cancelled() }} | |
| uses: teunmooij/yaml@v1 | |
| with: | |
| to-file: "docker-compose.override.yaml" | |
| data: | | |
| {"version":"3.8","services":{"alpine":{"environment":{"TEST":"multiple-files"}}}} | |
| - name: "5: Test Multiple Files (Swarm)" | |
| if: ${{ !cancelled() }} | |
| uses: ./ | |
| with: | |
| name: test_stack-deploy-multi | |
| file: docker-compose.base.yaml docker-compose.override.yaml | |
| host: ${{ secrets.DOCKER_HOST }} | |
| port: ${{ secrets.DOCKER_PORT }} | |
| user: ${{ secrets.DOCKER_USER }} | |
| ssh_key: ${{ secrets.DOCKER_SSH_KEY }} | |
| detach: false | |
| resolve_image: "changed" | |
| - name: "6: Test Multiple Files (Compose)" | |
| if: ${{ !cancelled() }} | |
| uses: ./ | |
| with: | |
| name: test_stack-deploy-compose-multi | |
| file: docker-compose.base.yaml docker-compose.override.yaml | |
| host: ${{ secrets.DOCKER_HOST }} | |
| port: ${{ secrets.DOCKER_PORT }} | |
| user: ${{ secrets.DOCKER_USER }} | |
| ssh_key: ${{ secrets.DOCKER_SSH_KEY }} | |
| mode: compose | |
| summary: false | |
| - name: "Schedule Failure Notification" | |
| if: ${{ failure() && github.event_name == 'schedule' }} | |
| uses: sarisia/actions-status-discord@v1 | |
| with: | |
| webhook: ${{ secrets.DISCORD_WEBHOOK }} |