Skip to content

GH-3547: Add semi-automated release pipeline for Apache Parquet Java #11

GH-3547: Add semi-automated release pipeline for Apache Parquet Java

GH-3547: Add semi-automated release pipeline for Apache Parquet Java #11

#
# 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: Test Release Scripts
on:
pull_request:
paths:
- 'release/**'
push:
branches:
- master
paths:
- 'release/**'
jobs:
bats:
name: Release Script Unit Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install bats-core
run: |
sudo apt-get update
sudo apt-get install -y bats
- name: Configure Git identity for tests
run: |
git config --global user.name "CI"
git config --global user.email "ci@test"
- name: Run bats tests
run: bats release/tests/*.bats
- name: Verify scripts are executable
run: |
for script in release/bin/*.sh; do
if [[ ! -x "$script" ]]; then
echo "ERROR: $script is not executable"
exit 1
fi
done
echo "All scripts are executable"