wip: use gha instead of jenkins by parshimers · Pull Request #53 · apache/asterixdb · GitHub
Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .asf.yaml
38 changes: 38 additions & 0 deletions .github/actions/setup-maven/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# 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: "Maven Setup"
description: "Setup Java and Maven"
inputs:
# Composite actions do not support typed parameters. Everything is treated as a string
# See: https://github.com/actions/runner/issues/2238
java-version:
description: "Java version to use"
default: "21"
cache:
description: "Dependency cache to enable in actions/setup-java (e.g. maven); empty disables it"
default: ""
runs:
using: "composite"
steps:
- name: Setup Java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: ${{ inputs.java-version }}
cache: ${{ inputs.cache }}
168 changes: 168 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
# 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.

# Required by https://infra.apache.org/github-actions-policy.html for every repository using GitHub Actions.
version: 2
updates:
- package-ecosystem: "github-actions"
directories:
- "/"
- "/.github/actions/*"
schedule:
interval: "weekly"
cooldown:
default-days: 4
# Every update runs the full CI matrix, so batch them into one pull request per kind.
groups:
actions-dependencies:
applies-to: version-updates
patterns:
- "*"
actions-security:
applies-to: security-updates
patterns:
- "*"

# Each entry runs as its own update job, and a multi-directory entry runs all of its directories in one job.
# Every asterixdb module also loads asterixdb/pom.xml, so listing them all in one entry re-checked the ~125
# dependencies it manages once per module and the job timed out. Instead each declared version is owned by
# exactly one entry: hyracks-fullstack, then asterixdb/pom.xml, then the few asterixdb modules that pin
# versions of their own.
- package-ecosystem: "maven"
directory: "/hyracks-fullstack"
schedule:
interval: "weekly"
cooldown:
default-days: 4
# Versions the POMs mark as not safely upgradeable (@pinned, @locked, @pinned-with or a "do not update"
# comment); the reason is recorded next to each version. Keep these lists in step with those comments.
ignore:
- dependency-name: "org.apache.rat:apache-rat-plugin"
- dependency-name: "org.apache.maven.plugins:maven-antrun-plugin"
- dependency-name: "net.revelc.code.formatter:formatter-maven-plugin"
- dependency-name: "net.revelc.code:impsort-maven-plugin"
- dependency-name: "org.apache.maven.doxia:doxia-maven-plugin"
- dependency-name: "org.mockito:*"
update-types: ["version-update:semver-major"]
- dependency-name: "io.netty:netty-bom"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- dependency-name: "io.netty:netty-all"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- dependency-name: "io.netty:netty-transport"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- dependency-name: "io.netty:netty-handler"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- dependency-name: "io.netty:netty-resolver"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
groups:
hyracks-dependencies:
applies-to: version-updates
patterns:
- "*"
hyracks-security:
applies-to: security-updates
patterns:
- "*"

# asterixdb/pom.xml's opt-modules profile adds asterix-opt only when asterix-opt/pom.xml exists, which
# dependabot does not understand, so it fails looking for that module when started from /asterixdb.
# asterix-common pins nothing itself; it is here only to pull in asterixdb/pom.xml as its parent.
- package-ecosystem: "maven"
directory: "/asterixdb/asterix-common"
schedule:
interval: "weekly"
cooldown:
default-days: 4
ignore:
- dependency-name: "org.apache.asterix:*"
- dependency-name: "org.apache.hyracks:*"
- dependency-name: "org.apache.rat:apache-rat-plugin"
- dependency-name: "org.apache.maven.plugins:maven-antrun-plugin"
- dependency-name: "net.revelc.code.formatter:formatter-maven-plugin"
- dependency-name: "net.revelc.code:impsort-maven-plugin"
- dependency-name: "org.testcontainers:*"
update-types: ["version-update:semver-major"]
- dependency-name: "com.adobe.testing:s3mock-testcontainers"
update-types: ["version-update:semver-major"]
- dependency-name: "com.typesafe.akka:akka-http-core_2.12"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
- dependency-name: "io.projectreactor.netty:*"
- dependency-name: "io.airlift:aircompressor"
- dependency-name: "com.github.luben:zstd-jni"
- dependency-name: "commons-pool:commons-pool"
groups:
asterixdb-dependencies:
applies-to: version-updates
patterns:
- "*"
asterixdb-security:
applies-to: security-updates
patterns:
- "*"

# These modules also load asterixdb/pom.xml, so only the versions they declare themselves are allowed here;
# the previous entry owns the rest. A version pinned directly in an asterixdb module must be added below.
# Versions taken from an asterixdb/pom.xml property (jacoco, awssdk) belong to the previous entry.
- package-ecosystem: "maven"
directories:
- "/asterixdb/asterix-app"
- "/asterixdb/asterix-cloud"
- "/asterixdb/asterix-dashboard"
- "/asterixdb/asterix-doc"
- "/asterixdb/asterix-external-data"
- "/asterixdb/asterix-maven-plugins"
- "/asterixdb/asterix-podman"
- "/asterixdb/asterix-server"
schedule:
interval: "weekly"
cooldown:
default-days: 4
allow:
- dependency-name: "com.azure:azure-storage-blob-batch"
- dependency-name: "com.couchbase.client:core-io"
- dependency-name: "com.github.eirslett:frontend-maven-plugin"
- dependency-name: "com.googlecode.maven-download-plugin:download-maven-plugin"
- dependency-name: "com.teradata.tpcds:tpcds"
- dependency-name: "io.delta:*"
- dependency-name: "io.trino.tpch:tpch"
- dependency-name: "nl.lexemmens:podman-maven-plugin"
- dependency-name: "org.apache.commons:commons-collections4"
- dependency-name: "org.apache.httpcomponents.client5:httpclient5"
- dependency-name: "org.apache.maven.plugin-testing:maven-plugin-testing-harness"
- dependency-name: "org.apache.maven.shared:file-management"
- dependency-name: "org.apache.wicket:wicket-util"
- dependency-name: "org.bouncycastle:*"
- dependency-name: "org.codehaus.jackson:*"
- dependency-name: "org.codehaus.plexus:plexus-utils"
- dependency-name: "org.freemarker:freemarker"
- dependency-name: "org.twitter4j:*"
- dependency-name: "org.vafer:jdeb"
- dependency-name: "tech.allegro.schema.json2avro:converter"
ignore:
- dependency-name: "com.couchbase.client:core-io"
- dependency-name: "io.delta:delta-kernel-api"
- dependency-name: "io.delta:delta-kernel-defaults"
- dependency-name: "org.twitter4j:*"
groups:
asterixdb-module-dependencies:
applies-to: version-updates
patterns:
- "*"
asterixdb-module-security:
applies-to: security-updates
patterns:
- "*"
136 changes: 136 additions & 0 deletions .github/scripts/verify-storage.sh
Loading