# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you 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. name: Validate ASF npm package from source RC on: workflow_dispatch: permissions: contents: read jobs: resolve: name: Resolve source reference runs-on: ubuntu-24.04 timeout-minutes: 5 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: ref: ${{ github.sha }} fetch-depth: 0 persist-credentials: false - name: Validate the requested source reference env: RELEASE_REF: ${{ github.ref }} RELEASE_REPOSITORY: ${{ github.repository }} SOURCE_REFERENCE_TAG: ${{ github.ref_name }} run: | if [[ "$RELEASE_REPOSITORY" != "apache/maka" ]]; then echo "ASF npm preflight must run in apache/maka; found $RELEASE_REPOSITORY" >&2 exit 1 fi if [[ "$RELEASE_REF" != "refs/tags/$SOURCE_REFERENCE_TAG" ]]; then echo "ASF npm preflight must be dispatched from $SOURCE_REFERENCE_TAG; found $RELEASE_REF" >&2 exit 1 fi git fetch --force --no-tags origin \ "refs/tags/$SOURCE_REFERENCE_TAG:refs/tags/$SOURCE_REFERENCE_TAG" test "$(git cat-file -t "refs/tags/$SOURCE_REFERENCE_TAG")" = tag tag_commit="$(git rev-parse "refs/tags/$SOURCE_REFERENCE_TAG^{commit}")" test "$tag_commit" = "$GITHUB_SHA" git fetch --no-tags origin main:refs/remotes/origin/main git merge-base --is-ancestor "$GITHUB_SHA" origin/main node scripts/product-release-identity.mjs validate: name: Validate npm package needs: resolve permissions: contents: read uses: ./.github/workflows/cli-package-validation.yml with: source_commit: ${{ github.sha }}