Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: gchq/gaffer-docker
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.6.0
Choose a base ref
...
head repository: gchq/gaffer-docker
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: develop
Choose a head ref
Loading
Showing 341 changed files with 11,795 additions and 2,928 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* text=auto eol=lf

34 changes: 34 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright 2020-2024 Crown Copyright
#
# 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.

changelog:
categories:
- title: Headliners
labels:
- headliner
- title: New Features
labels:
- feature
- title: Enhancements
labels:
- enhancement
- title: Bugs Fixed
labels:
- bug
- title: Documentation
labels:
- documentation
- title: Automation
labels:
- automation
69 changes: 69 additions & 0 deletions .github/workflows/continuous-integration.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Copyright 2020-2024 Crown Copyright
#
# 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.

name: Continuous Integration

on:
pull_request:
push:
branches:
- 'release/**'
- 'hotfix/**'

jobs:
build:
runs-on: ubuntu-latest
steps:

- name: Maximize build space
uses: easimon/maximize-build-space@v10
with:
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'
swap-size-mb: 1024
overprovision-lvm: 'true'

- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Check Copyright Headers
if: github.event_name == 'pull_request'
run: ./cd/check_copyright_headers.sh

- name: Build Images
run: ./cd/build_images.sh ./docker/accumulo2.env

- name: Update versions in charts
run: ./cd/update_versions.sh

- name: Install subcharts
run: ./cd/install_dependencies.sh

- name: Lint charts
run: ./cd/lint_charts.sh

# Current problem with helm charts not starting accumulo correctly
# Re enable k8s section of CI once fixed or updated see issue 348.
# - name: Deploy to Kubernetes
# run: ./cd/deploy_to_kind.sh ./docker/accumulo2.env

# - name: Run gaffer-road-traffic Tests
# run: helm test gaffer || (kubectl get po && kubectl describe po && kubectl logs -l app.kubernetes.io/component=test --tail=-1 && df -h && false)

# - name: Run gaffer-jhub Tests
# run: helm test jhub || (kubectl get po && kubectl describe po && kubectl logs -l app.kubernetes.io/component=test --tail=-1 && df -h && false)
71 changes: 71 additions & 0 deletions .github/workflows/create-hotfix-branch.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Copyright 2021-2023 Crown Copyright
#
# 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.

name: Create Hotfix Branch

on:
workflow_dispatch:
inputs:
version:
description: 'Hotfix Branch Version'
required: false

jobs:
create-hotfix-branch:
runs-on: ubuntu-latest

steps:
- name: Checkout master
uses: actions/checkout@v4
with:
ref: master
token: ${{ secrets.ADMIN_GITHUB_TOKEN }}
fetch-depth: 0

- name: Set version from input
if: ${{ github.event.inputs.version }}
run: echo "RELEASE_VERSION=$(echo ${{ github.event.inputs.version }} | sed 's/^v//')" >> $GITHUB_ENV

- name: Get latest tag
if: ${{ !github.event.inputs.version }}
uses: actions-ecosystem/action-get-latest-tag@v1
id: get-latest-tag

- name: Format latest tag
if: ${{ !github.event.inputs.version }}
run: echo "CURRENT_VERSION=$(echo ${{ steps.get-latest-tag.outputs.tag }} | sed 's/^v//')" >> $GITHUB_ENV

- name: Bump latest tag variable version
if: ${{ !github.event.inputs.version }}
run: echo "RELEASE_VERSION=$(echo ${{ env.CURRENT_VERSION }} | sed -r 's/([0-9]+)\.([0-9]+)\.([0-9]+)/echo \1.\2.$((\3+1))/' | sh)" >> $GITHUB_ENV

- name: Verify version regex
run: echo ${{ env.RELEASE_VERSION }} | grep -E '^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$'

- name: Set hotfix branch
run: echo "BRANCH_NAME=$(echo hotfix/${{ env.RELEASE_VERSION }} )" >> $GITHUB_ENV

- name: Set up Github credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- name: Update versions
run: ./cd/update_versions.sh ${RELEASE_VERSION}

- name: Push to hotfix branch
run: |
git checkout -b $BRANCH_NAME
git commit -a -m "prepare release v${RELEASE_VERSION}" --allow-empty
git push --set-upstream origin $BRANCH_NAME
66 changes: 66 additions & 0 deletions .github/workflows/create-release-branch.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Copyright 2021-2024 Crown Copyright
#
# 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.

name: Create Release Branch

on:
milestone:
types:
- closed

jobs:
create-release-branch:
runs-on: ubuntu-latest

steps:
- name: Checkout develop
uses: actions/checkout@v4
with:
ref: develop
token: ${{ secrets.ADMIN_GITHUB_TOKEN }}
fetch-depth: 0

- name: Set version from milestone
if: ${{ github.event.milestone.title }}
run: echo "RELEASE_VERSION=$(echo ${{ github.event.milestone.title }} | sed 's/^v//')" >> $GITHUB_ENV

- name: Set release branch
run: echo "BRANCH_NAME=$(echo release/${{ env.RELEASE_VERSION }} )" >> $GITHUB_ENV

- name: Set up Github credentials
run: |
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
- name: Update versions
run: |
./cd/update_versions.sh ${RELEASE_VERSION}
- name: Push to release branch
run: |
git checkout -b $BRANCH_NAME
git commit -a -m "prepare release v${RELEASE_VERSION}" --allow-empty
git push --set-upstream origin $BRANCH_NAME
- name: Tag release branch
run: |
git tag v${RELEASE_VERSION}
git push origin v${RELEASE_VERSION}
git push
- name: Create PR to master
run: |
gh pr create -B master -H $BRANCH_NAME --title 'Updated Gaffer version to ${{ github.event.milestone.title }}' --body 'Created by GH Action'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57 changes: 57 additions & 0 deletions .github/workflows/integration-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright 2022-2023 Crown Copyright
#
# 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.

name: Integration Tests

on:
workflow_dispatch:
schedule:
- cron: "0 9 * * 1,4"
jobs:
Build:
runs-on: ubuntu-latest
env:
GAFFER_VERSION: develop
GAFFER_TESTER_VERSION: develop
steps:
- uses: actions/checkout@v4

- name: Run Integration Tests
run: |
cd docker/gaffer-integration-tests/
docker compose up --exit-code-from gaffer-integration-tests
- name: Send success message to ms teams
if: ${{ success()}}
uses: jdcargile/ms-teams-notification@v1.3
with:
github-token: ${{ github.token }}
ms-teams-webhook-uri: ${{ secrets.MS_TEAMS_WEBHOOK_URI }}
notification-summary: Pass &#x2705 &#x1F920
notification-color: 70df3f
timezone: GB

- name: Print logs from Integration tests
if: ${{ failure() }}
run: kubectl logs pods/gaffer-accumulo-integration-tests

- name: Send failure message to ms teams
if: ${{ failure()}}
uses: jdcargile/ms-teams-notification@v1.3
with:
github-token: ${{ github.token }}
ms-teams-webhook-uri: ${{ secrets.MS_TEAMS_WEBHOOK_URI }}
notification-summary: Fail &#x274C &#x1F627
notification-color: dd1010
timezone: GB
29 changes: 29 additions & 0 deletions .github/workflows/link-issue.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Copyright 2020-2023 Crown Copyright
#
# 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.

name: 'Issue Links'
on:
pull_request:
types: [opened]

jobs:
issue-links:
runs-on: ubuntu-latest
steps:
- uses: tkt-actions/add-issue-links@v1.8.2
with:
repo-token: '${{ secrets.GITHUB_TOKEN }}'
branch-prefix: 'gh-'
link-style: 'body'
resolve: 'true'
Loading