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

Kp test framework pt1 pd 2645 #127

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from
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
78 changes: 78 additions & 0 deletions .github/workflows/build-warp-tester.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@

name: WARP Tester CI

# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "develop" and "master" branch
pull_request:
branches: [ "develop", "master" ]
paths:
- '3rd-party-tools/warp-tester/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
inputs:
image_tag:
description: 'Docker Image Tag (default: branch_name)'

env:
PROJECT_NAME: WARP 3rd Party Tools
# Github repo name
REPOSITORY_NAME: ${{ github.event.repository.name }}
# Region-specific Google Docker repository where GOOGLE_PROJECT/REPOSITORY_NAME can be found
DOCKER_REGISTRY: us.gcr.io
GCR_PATH: broad-gotc-prod/warp-tester
ACR_PATH: warp-tester
TAG: ${{ github.event.inputs.image_tag || github.head_ref || github.ref_name }}

jobs:
build-for-gcr:
runs-on: ubuntu-latest
defaults:
run:
working-directory: 3rd-party-tools/warp-tester
# Map a step output to a job output
outputs:
imagePath: ${{ steps.saveImagePath.outputs.url }}
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- name: Build the Docker image
run: docker build . --file Dockerfile --tag ${DOCKER_REGISTRY}/${GCR_PATH}:${TAG}
# Save the image path to an output
- id: 'saveImagePath'
run: echo "url=${DOCKER_REGISTRY}/${GCR_PATH}:${TAG}" >> $GITHUB_OUTPUT
# Log into the Google Docker registry
- id: 'Auth'
name: Login to GCR
uses: docker/login-action@v2
with:
registry: ${{ env.DOCKER_REGISTRY }}
username: _json_key
password: ${{ secrets.GCR_CI_KEY }}
# Push the image to the Google Docker registry
- name: Push image
run: "docker push ${DOCKER_REGISTRY}/${GCR_PATH}:${TAG}"

build-for-acr:
runs-on: ubuntu-latest
defaults:
run:
working-directory: 3rd-party-tools/warp-tester
steps:
- name: 'Checkout GitHub Action'
uses: actions/checkout@v3

- name: 'Login via Azure CLI'
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: 'Build and push image'
uses: azure/docker-login@v1
with:
login-server: ${{ secrets.REGISTRY_LOGIN_SERVER }}
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- run: |
docker build . -t ${{ secrets.REGISTRY_LOGIN_SERVER }}/${ACR_PATH}:${TAG}
docker push ${{ secrets.REGISTRY_LOGIN_SERVER }}/${ACR_PATH}:${TAG}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,6 @@ atlassian-ide-plugin.xml

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

# .DS_Store files
.DS_Store
33 changes: 33 additions & 0 deletions 3rd-party-tools/warp-tester/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

# Use the official Ubuntu LTS base image
FROM ubuntu:24.04

LABEL author="Kevin Palis <[email protected]>"

# Install dependencies, tools, and utilities. Then remove the package list to reduce the image size
RUN apt-get update && apt-get install -y \
curl \
gnupg \
lsb-release \
software-properties-common \
unzip \
tree \
python3 \
python3-pip \
kubectl \
jq \
netcat \
&& rm -rf /var/lib/apt/lists/*

# Install cromshell
RUN pip3 install cromshell

# Add any additional environment variables here if needed
# ENV VAR_NAME=value

# Set working directory
WORKDIR /workspace


# Set the entrypoint to bash
ENTRYPOINT ["/bin/bash"]
Loading