Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ran pipeline template and added cruft file #136

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
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
21 changes: 21 additions & 0 deletions pipelines/.cruft.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"template": "https://github.com/CybercentreCanada/assemblyline-service-pipeline-generator.git",
"commit": "eb41868283c10b1a31746ebfd29b2c0e32c26025",
"checkout": null,
"context": {
"cookiecutter": {
"__directory_name": "pipelines",
"classification": "UNCLASSIFIED",
"is_public": false,
cccs-rs marked this conversation as resolved.
Show resolved Hide resolved
"test_in_container": true,
"test_versions": "default",
"timeout": "default",
"__setupscript": "setup.bash",
"_extensions": [
"local_extensions.extract_versions"
],
"_template": "https://github.com/CybercentreCanada/assemblyline-service-pipeline-generator.git"
}
},
"directory": null
}
1 change: 1 addition & 0 deletions pipelines/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
setup.bash
117 changes: 36 additions & 81 deletions pipelines/azure-build.yaml
100755 → 100644
Original file line number Diff line number Diff line change
@@ -1,81 +1,36 @@
name: build

variables:
- group: unittest-samples
- name: self_location
value: "self_location"
- name: full_self_location
value: "$(Agent.BuildDirectory)/$(self_location)"
- name: samples_location
value: "samples_location"
- name: full_samples_location
value: "$(Agent.BuildDirectory)/$(samples_location)"

resources:
repositories:
- repository: unittest-samples
type: github
name: $(unittest_samples_repository)
ref: main
endpoint: github-repo-sa
trigger: none

trigger:
tags:
include: ["v*"]
pr: none

pool:
vmImage: "ubuntu-20.04"

stages:
- stage: deploy
jobs:
- job: deploy
displayName: Deploy containers to dockerhub
variables:
- group: deployment-information
steps:
- task: Docker@2
displayName: Login to docker hub
inputs:
command: login
containerRegistry: dockerhub
- task: Docker@2
displayName: Login to chimera
inputs:
command: login
containerRegistry: CHIMERA-U-ACR
- checkout: self
fetchDepth: 1
path: $(self_location)
- checkout: unittest-samples
fetchDepth: 1
path: $(samples_location)
- script: |
export TAG=${BUILD_SOURCEBRANCH#"refs/tags/v"}
if [[ "$TAG" == *stable* ]]; then export BUILD_TYPE=stable; else export BUILD_TYPE=latest; fi
docker build --build-arg version=$TAG --build-arg branch=$BUILD_TYPE -t cccs/${BUILD_REPOSITORY_NAME##*/}:$TAG -t cccs/${BUILD_REPOSITORY_NAME##*/}:$BUILD_TYPE -f ./Dockerfile .
workingDirectory: $(full_self_location)
displayName: Build containers
- script: |
[ ! -d "$(pwd)/tests" ] && echo "No tests found" && exit
export TAG=${BUILD_SOURCEBRANCH#"refs/tags/v"}
if [[ "$TAG" == *stable* ]]; then export BUILD_TYPE=stable; else export BUILD_TYPE=latest; fi
[ -f "$(pwd)/tests/requirements.txt" ] && docker run -e FULL_SELF_LOCATION=/opt/al_service -e FULL_SAMPLES_LOCATION=/opt/samples -v /usr/share/ca-certificates/mozilla:/usr/share/ca-certificates/mozilla -v $(pwd)/tests/:/opt/al_service/tests/ -v ${FULL_SAMPLES_LOCATION}:/opt/samples cccs/${BUILD_REPOSITORY_NAME##*/}:$BUILD_TYPE bash -c 'pip install -U -r tests/requirements.txt; pytest -p no:cacheprovider -xsvvv' && exit
docker run -e FULL_SELF_LOCATION=/opt/al_service -e FULL_SAMPLES_LOCATION=/opt/samples -v /usr/share/ca-certificates/mozilla:/usr/share/ca-certificates/mozilla -v $(pwd)/tests/:/opt/al_service/tests/ -v ${FULL_SAMPLES_LOCATION}:/opt/samples cccs/${BUILD_REPOSITORY_NAME##*/}:$BUILD_TYPE bash -c 'pytest -p no:cacheprovider -xsvvv'
workingDirectory: $(full_self_location)
displayName: Test containers
- script: |
export TAG=${BUILD_SOURCEBRANCH#"refs/tags/v"}
if [[ "$TAG" == *stable* ]]; then export BUILD_TYPE=stable; else export BUILD_TYPE=latest; fi
export SERIES="`expr $TAG : '\([0-9]\+\.[0-9]\+\.\)'`${BUILD_TYPE}"

for IMAGE in "cccs/" "uchimera.azurecr.io/cccs/"
do
docker tag cccs/${BUILD_REPOSITORY_NAME##*/}:$BUILD_TYPE ${IMAGE}${BUILD_REPOSITORY_NAME##*/}:$TAG
docker tag cccs/${BUILD_REPOSITORY_NAME##*/}:$BUILD_TYPE ${IMAGE}${BUILD_REPOSITORY_NAME##*/}:$BUILD_TYPE
docker tag cccs/${BUILD_REPOSITORY_NAME##*/}:$BUILD_TYPE ${IMAGE}${BUILD_REPOSITORY_NAME##*/}:$SERIES
docker push ${IMAGE}${BUILD_REPOSITORY_NAME##*/} --all-tags
done
displayName: Deploy to container repositories
name: build

variables:
- group: unittest-samples

trigger:
tags:
include: ["v*"]
pr: none

pool:
vmImage: "ubuntu-20.04"

resources:
repositories:
- repository: PipelineTemplates
type: github
name: CybercentreCanada/assemblyline-pipeline-templates
ref: refs/heads/main
endpoint: github-repo-sa
trigger: none
- repository: unittest-samples
type: github
name: $(unittest_samples_repository)
ref: main
endpoint: github-repo-sa
trigger: none

extends:
template: stages/deploy-service.yaml@PipelineTemplates
parameters:
is_public: "false"
cccs-rs marked this conversation as resolved.
Show resolved Hide resolved
samples_repo: unittest-samples
labels:
classification: "UNCLASSIFIED"

78 changes: 20 additions & 58 deletions pipelines/azure-tests.yaml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -2,69 +2,31 @@ name: tests

variables:
- group: unittest-samples
- name: self_location
value: "self_location"
- name: full_self_location
value: "$(Agent.BuildDirectory)/$(self_location)"
- name: samples_location
value: "samples_location"
- name: full_samples_location
value: "$(Agent.BuildDirectory)/$(samples_location)"

resources:
repositories:
- repository: unittest-samples
type: github
name: $(unittest_samples_repository)
ref: main
endpoint: github-repo-sa
trigger: none

trigger: ["*"]
pr: ["*"]

pool:
vmImage: "ubuntu-20.04"

jobs:
- job: run_test
strategy:
matrix:
Python3_11:
python.version: "3.11"
Python3_12:
python.version: "3.12"

timeoutInMinutes: 10
resources:
repositories:
- repository: PipelineTemplates
type: github
name: CybercentreCanada/assemblyline-pipeline-templates
ref: refs/heads/main
endpoint: github-repo-sa
trigger: none
- repository: unittest-samples
type: github
name: $(unittest_samples_repository)
ref: main
endpoint: github-repo-sa
trigger: none

steps:
- task: UsePythonVersion@0
displayName: Set python version
inputs:
versionSpec: "$(python.version)"
- checkout: self
fetchDepth: 1
path: $(self_location)
- checkout: unittest-samples
fetchDepth: 1
path: $(samples_location)
- script: |
[ ! -d "$(pwd)/tests" ] && echo "No tests found" && exit
sudo apt-get update
sudo apt-get install -y libfuzzy-dev libfuzzy2
if [[ -f "$(pwd)/pkglist.txt" ]]; then
grep -vE '^#' "$(pwd)/pkglist.txt" | xargs sudo apt install -y
fi
sudo rm -rf /var/lib/apt/lists/*
sudo env "PATH=$PATH" python -m pip install -U --no-cache-dir assemblyline assemblyline_v4_service
[ -f $(pwd)/requirements.txt ] && sudo env "PATH=$PATH" python -m pip install -U --no-cache-dir -r $(pwd)/requirements.txt
[ -f $(pwd)/tests/requirements.txt ] && sudo env "PATH=$PATH" python -m pip install -U --no-cache-dir -r $(pwd)/tests/requirements.txt
sudo rm -rf /tmp/* /var/lib/apt/lists/* ~/.cache/pip
workingDirectory: $(full_self_location)
displayName: Setup environment
- script: |
[ ! -d "$(pwd)/tests" ] && echo "No tests found" && exit
export REPO_NAME=${BUILD_REPOSITORY_NAME##*/}
python -m pytest -p no:cacheprovider --durations=10 -rsx -xsvvv --disable-warnings
workingDirectory: $(full_self_location)
displayName: Test
extends:
template: stages/test-service.yaml@PipelineTemplates
parameters:
samples_repo: unittest-samples
test_container: "true"