# ==================================================================================================================== # # Authors: # # Unai Martinez-Corral # # # # ==================================================================================================================== # # Copyright 2020-2024 The pyTooling Authors # # # # Licensed under the Apache License, Version 2.0 (the "License"); # # you may not use this file except in compliance with the License. # # You may obtain a copy of the License at # # # # http://www.apache.org/licenses/LICENSE-2.0 # # # # Unless required by applicable law or agreed to in writing, software # # distributed under the License is distributed on an "AS IS" BASIS, # # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # # See the License for the specific language governing permissions and # # limitations under the License. # # # # SPDX-License-Identifier: Apache-2.0 # # ==================================================================================================================== # name: Test Releaser on: push: tags: - '*' - '!tip' - '!v*' branches: - '**' - '!r*' workflow_dispatch: schedule: - cron: '0 0 * * 4' env: CI: true jobs: Image: runs-on: ubuntu-24.04 env: DOCKER_BUILDKIT: 1 steps: - uses: actions/checkout@v4 - name: Build container image run: docker build -t ghcr.io/pytooling/releaser -f releaser/Dockerfile releaser - name: Push container image uses: ./with-post-step with: main: | echo '${{ github.token }}' | docker login ghcr.io -u GitHub-Actions --password-stdin docker push ghcr.io/pytooling/releaser post: docker logout ghcr.io Composite: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - run: echo "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt - name: Single uses: ./releaser/composite with: rm: true token: ${{ secrets.GITHUB_TOKEN }} files: artifact-*.txt - name: List uses: ./releaser/composite with: token: ${{ secrets.GITHUB_TOKEN }} files: | artifact-*.txt README.md - name: Add artifacts/*.txt run: | mkdir artifacts echo "Build some tool and generate some artifacts" > artifacts/artifact.txt touch artifacts/empty_file.txt - name: Single in subdir uses: ./releaser/composite with: token: ${{ secrets.GITHUB_TOKEN }} files: artifacts/artifact.txt - name: Add artifacts/*.md run: | echo "releaser hello" > artifacts/hello.md echo "releaser world" > artifacts/world.md - name: Directory wildcard uses: ./releaser/composite with: token: ${{ secrets.GITHUB_TOKEN }} files: artifacts/* - name: Add artifacts/subdir run: | mkdir artifacts/subdir echo "Test recursive glob" > artifacts/subdir/deep_file.txt - name: Directory wildcard (recursive) uses: ./releaser/composite with: token: ${{ secrets.GITHUB_TOKEN }} files: artifacts/** Test: needs: - Image - Composite runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - run: echo "Build some tool and generate some (versioned) artifacts" > artifact-$(date -u +"%Y-%m-%dT%H-%M-%SZ").txt - name: Single uses: ./releaser with: rm: true token: ${{ secrets.GITHUB_TOKEN }} files: artifact-*.txt - name: List uses: ./releaser with: token: ${{ secrets.GITHUB_TOKEN }} files: | artifact-*.txt README.md - name: Add artifacts/*.txt run: | mkdir artifacts echo "Build some tool and generate some artifacts" > artifacts/artifact.txt touch artifacts/empty_file.txt - name: Single in subdir uses: ./releaser with: token: ${{ secrets.GITHUB_TOKEN }} files: artifacts/artifact.txt - name: Add artifacts/*.md run: | echo "releaser hello" > artifacts/hello.md echo "releaser world" > artifacts/world.md - name: Directory wildcard uses: ./releaser with: token: ${{ secrets.GITHUB_TOKEN }} files: artifacts/* - name: Add artifacts/subdir run: | mkdir artifacts/subdir echo "Test recursive glob" > artifacts/subdir/deep_file.txt - name: Directory wildcard (recursive) uses: ./releaser with: token: ${{ secrets.GITHUB_TOKEN }} files: artifacts/**