Skip to content
Open
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
4 changes: 3 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
### Converters
- [ ] Converter logic in `converters/` is updated to reflect spec or ontology changes
- [ ] New converters include tests under the converter's test directory
- [ ] If adding a new converter, `.github/labeler.yml` is updated with the new path

### Validation
- [ ] Validation rules in `validation/` are updated if the spec changed
Expand All @@ -58,4 +59,5 @@

### Compliance
- [ ] ASF license headers are present on all new source files
- [ ] No third-party dependencies are added without PMC/IPMC approval
- [ ] No third-party dependencies are added without PMC/IPMC approval
- [ ] If third-party source code is vendored/copied (not just declared as a dependency), `NOTICE` and/or `LICENSE` have been updated per [ASF policy](https://infra.apache.org/licensing-howto.html)
29 changes: 29 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# 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.

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "sunday"
groups:
actions-minor:
update-types:
- "minor"
- "patch"
96 changes: 96 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# 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.

# Catch-all: any converter change gets this label (including new converters)
converter:
- changed-files:
- any-glob-to-any-file: 'converters/**'

# Specific converter labels
converter/dbt:
- changed-files:
- any-glob-to-any-file: 'converters/dbt/**'

converter/databricks:
- changed-files:
- any-glob-to-any-file: 'converters/databricks/**'

converter/gooddata:
- changed-files:
- any-glob-to-any-file: 'converters/gooddata/**'

converter/honeydew:
- changed-files:
- any-glob-to-any-file: 'converters/honeydew/**'

converter/omni:
- changed-files:
- any-glob-to-any-file: 'converters/omni/**'

converter/orionbelt:
- changed-files:
- any-glob-to-any-file: 'converters/orionbelt/**'

converter/polaris:
- changed-files:
- any-glob-to-any-file: 'converters/polaris/**'

converter/salesforce:
- changed-files:
- any-glob-to-any-file: 'converters/salesforce/**'

converter/snowflake:
- changed-files:
- any-glob-to-any-file: 'converters/snowflake/**'

converter/wisdom:
- changed-files:
- any-glob-to-any-file: 'converters/wisdom/**'

# Other areas
cli:
- changed-files:
- any-glob-to-any-file: 'cli/**'

spec:
- changed-files:
- any-glob-to-any-file: 'core-spec/**'

ontology:
- changed-files:
- any-glob-to-any-file: 'ontology/**'

docs:
- changed-files:
- any-glob-to-any-file: 'docs/**'

validation:
- changed-files:
- any-glob-to-any-file: 'validation/**'

examples:
- changed-files:
- any-glob-to-any-file: 'examples/**'

infra:
- changed-files:
- any-glob-to-any-file:
- '.github/**'
- '.asf.yaml'
- 'Makefile'
- '.pre-commit-config.yaml'
- 'ruff.toml'
40 changes: 40 additions & 0 deletions .github/workflows/auto-label-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# 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: Auto Label New Issues

on:
issues:
types: [opened]

permissions:
issues: write

jobs:
label:
if: github.repository_owner == 'apache'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
with:
script: |
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: ['needs-triage']
});
36 changes: 36 additions & 0 deletions .github/workflows/auto-label-prs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# 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: Auto Label PRs

on:
pull_request_target:
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: write

jobs:
label-by-files:
if: github.repository_owner == 'apache'
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
sync-labels: true
67 changes: 67 additions & 0 deletions .github/workflows/community-pr-helper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# 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: Community PR Helper

on:
pull_request_target:
types: [opened]

permissions:
pull-requests: write

jobs:
welcome:
if: github.repository_owner == 'apache'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v7
with:
script: |
// Only greet first-time contributors
const { data: prs } = await github.rest.pulls.list({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'all',
creator: context.payload.pull_request.user.login
});

if (prs.length > 1) {
console.log('Not a first-time contributor, skipping welcome.');
return;
}

await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: [
'Thank you for your first contribution to Apache Ossie (incubating)!',
'',
'A committer will review your PR. In the meantime, please ensure:',
'',
'- All CI checks pass',
'- ASF license headers are present on new source files',
'- Tests cover new functionality',
'',
'**Before your contribution can be merged**, you need an [Individual Contributor License Agreement (ICLA)](https://www.apache.org/licenses/contributor-agreements.html) on file with the ASF.',
'',
'**Questions?** Ask in the PR comments or on our [Slack](https://join.slack.com/t/ossaboratories/shared_invite/zt-38v10kmo4-TZXFfGCPwPEM4SPhKrAHUw).',
'',
'We appreciate your contribution!'
].join('\n')
});
35 changes: 35 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# 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: Dependency Review

on: [pull_request]

permissions:
contents: read
pull-requests: write

jobs:
dependency-review:
if: github.repository_owner == 'apache'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/dependency-review-action@v4
with:
deny-licenses: GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-only, GPL-3.0-or-later, LGPL-2.1-only, LGPL-2.1-or-later, LGPL-3.0-only, LGPL-3.0-or-later, AGPL-3.0-only, AGPL-3.0-or-later, SSPL-1.0, EUPL-1.1, EUPL-1.2
comment-summary-in-pr: always
35 changes: 35 additions & 0 deletions .github/workflows/license-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# 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: License Header Check

on:
pull_request:

permissions:
contents: read

jobs:
rat:
if: github.repository_owner == 'apache'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Run Apache RAT
run: dev/check-license
Loading