diff --git a/.github/workflows/pr-check.yaml b/.github/workflows/pr-check.yaml new file mode 100644 index 0000000..a9b3866 --- /dev/null +++ b/.github/workflows/pr-check.yaml @@ -0,0 +1,64 @@ +# +# Copyright (C) 2023 Red Hat, Inc. +# +# 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: pr-check + +on: + pull_request: + branches: + - gh-pages + +jobs: + verify: + name: Verify + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + + - name: Verify images + run: | + if [ -f api/extensions.json ]; then + for i in `jq -r .extensions[].versions[].ociUri api/extensions.json` + do + echo "Verify image $i" + podman pull -q $i + done + else + echo "api/extensions.json removed, forbidden" + exit 1 + fi + + - name: Verify files + run: | + if [ -f api/extensions.json ]; then + for u in `jq -r .extensions[].versions[].files[].data api/extensions.json` + do + if [[ "$u" =~ ^"https://registry.podman-desktop.io" ]]; then + f=${u:35} + if [ ! -f "$f" ]; then + echo "$f does not exist." + exit 1 + fi + else + echo "Verify URL $u" + curl -f -s -o /dev/null $u + fi + done + else + echo "api/extensions.json removed, forbidden" + exit 1 + fi