-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from haarchri/feature/ref-initial
feat(ref): added initial platform-ref for static s3 website hosting
- Loading branch information
Showing
22 changed files
with
1,441 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
name: CI | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- release-* | ||
workflow_dispatch: {} | ||
|
||
env: | ||
DOCKER_BUILDX_VERSION: 'v0.8.2' | ||
|
||
XPKG_ACCESS_ID: ${{ secrets.XPKG_ACCESS_ID }} | ||
|
||
jobs: | ||
detect-noop: | ||
runs-on: ubuntu-22.04 | ||
outputs: | ||
noop: ${{ steps.noop.outputs.should_skip }} | ||
steps: | ||
- name: Detect No-op Changes | ||
id: noop | ||
uses: fkirc/[email protected] | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
paths_ignore: '["**.md", "**.png", "**.jpg"]' | ||
do_not_skip: '["workflow_dispatch", "schedule", "push"]' | ||
|
||
publish-artifacts: | ||
runs-on: ubuntu-22.04 | ||
needs: detect-noop | ||
if: needs.detect-noop.outputs.noop != 'true' | ||
|
||
steps: | ||
- name: Setup QEMU | ||
uses: docker/setup-qemu-action@v1 | ||
with: | ||
platforms: all | ||
|
||
- name: Setup Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
with: | ||
version: ${{ env.DOCKER_BUILDX_VERSION }} | ||
install: true | ||
|
||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
|
||
- name: Fetch History | ||
run: git fetch --prune --unshallow | ||
|
||
- name: Build Artifacts | ||
run: make -j2 build.all | ||
env: | ||
# We're using docker buildx, which doesn't actually load the images it | ||
# builds by default. Specifying --load does so. | ||
BUILD_ARGS: "--load" | ||
|
||
- name: Publish Artifacts to GitHub | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: output | ||
path: _output/** | ||
|
||
- name: Login to Upbound | ||
uses: docker/login-action@v1 | ||
if: env.XPKG_ACCESS_ID != '' | ||
with: | ||
registry: xpkg.upbound.io | ||
username: ${{ secrets.XPKG_ACCESS_ID }} | ||
password: ${{ secrets.XPKG_TOKEN }} | ||
|
||
- name: Publish Artifacts | ||
run: make -j2 publish BRANCH_NAME=${GITHUB_REF##*/} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
name: End to End Testing | ||
|
||
on: | ||
issue_comment: | ||
types: [created] | ||
|
||
jobs: | ||
e2e: | ||
uses: upbound/uptest/.github/workflows/pr-comment-trigger.yml@main | ||
with: | ||
package-type: configuration | ||
secrets: | ||
UPTEST_CLOUD_CREDENTIALS: ${{ secrets.UPTEST_CLOUD_CREDENTIALS }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: Tag | ||
|
||
on: | ||
workflow_dispatch: | ||
inputs: | ||
version: | ||
description: 'Release version (e.g. v0.1.0)' | ||
required: true | ||
message: | ||
description: 'Tag message' | ||
required: true | ||
|
||
jobs: | ||
create-tag: | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
|
||
- name: Create Tag | ||
uses: negz/create-tag@v1 | ||
with: | ||
version: ${{ github.event.inputs.version }} | ||
message: ${{ github.event.inputs.message }} | ||
token: ${{ secrets.GITHUB_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
/.cache | ||
/.work | ||
/_output | ||
/results | ||
|
||
*.xpkg | ||
kubeconfig | ||
.DS_Store |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "build"] | ||
path = build | ||
url = https://github.com/upbound/build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# Project Setup | ||
PROJECT_NAME := platform-ref-s3-website | ||
PROJECT_REPO := github.com/upbound/$(PROJECT_NAME) | ||
|
||
# NOTE(hasheddan): the platform is insignificant here as Configuration package | ||
# images are not architecture-specific. We constrain to one platform to avoid | ||
# needlessly pushing a multi-arch image. | ||
PLATFORMS ?= linux_amd64 | ||
-include build/makelib/common.mk | ||
|
||
# ==================================================================================== | ||
# Setup Kubernetes tools | ||
|
||
UP_VERSION = v0.18.0 | ||
UP_CHANNEL = stable | ||
UPTEST_VERSION = v0.5.0 | ||
UPTEST_CLAIMS = examples/website.yaml,examples/content.yaml | ||
# ==================================================================================== | ||
# Setup Helm | ||
|
||
USE_HELM3 = true | ||
HELM3_VERSION = v3.11.2 | ||
HELM_OCI_URL = xpkg.upbound.io/upbound | ||
HELM_CHARTS = $(PROJECT_NAME)-chart | ||
HELM_CHART_LINT_ARGS_$(PROJECT_NAME) = --set nameOverride='',imagePullSecrets='' | ||
HELM_CHARTS_DIR ?= $(ROOT_DIR)/chart | ||
|
||
-include build/makelib/k8s_tools.mk | ||
|
||
# ==================================================================================== | ||
# Setup XPKG | ||
XPKG_REG_ORGS ?= xpkg.upbound.io/upbound | ||
# NOTE(hasheddan): skip promoting on xpkg.upbound.io as channel tags are | ||
# inferred. | ||
XPKG_REG_ORGS_NO_PROMOTE ?= xpkg.upbound.io/upbound | ||
XPKGS = $(PROJECT_NAME) | ||
XPKG_DIR := $(ROOT_DIR)/apis | ||
-include build/makelib/xpkg.mk | ||
|
||
CROSSPLANE_NAMESPACE = upbound-system | ||
-include build/makelib/local.xpkg.mk | ||
-include build/makelib/controlplane.mk | ||
|
||
# ==================================================================================== | ||
# Targets | ||
|
||
# run `make help` to see the targets and options | ||
|
||
# We want submodules to be set up the first time `make` is run. | ||
# We manage the build/ folder and its Makefiles as a submodule. | ||
# The first time `make` is run, the includes of build/*.mk files will | ||
# all fail, and this target will be run. The next time, the default as defined | ||
# by the includes will be run instead. | ||
fallthrough: submodules | ||
@echo Initial setup complete. Running make again . . . | ||
@make | ||
|
||
# Update the submodules, such as the common build scripts. | ||
submodules: | ||
@git submodule sync | ||
@git submodule update --init --recursive | ||
|
||
# We must ensure up is installed in tool cache prior to build as including the k8s_tools machinery prior to the xpkg | ||
# machinery sets UP to point to tool cache. | ||
build.init: $(UP) | ||
|
||
# ==================================================================================== | ||
# End to End Testing | ||
|
||
# This target requires the following environment variables to be set: | ||
# - UPTEST_CLOUD_CREDENTIALS, cloud credentials for the provider being tested, e.g. export UPTEST_CLOUD_CREDENTIALS=$(cat ~/.aws/credentials) | ||
uptest: $(UPTEST) $(KUBECTL) $(KUTTL) | ||
@$(INFO) running automated tests | ||
@KUBECTL=$(KUBECTL) KUTTL=$(KUTTL) $(UPTEST) e2e $(UPTEST_CLAIMS) --setup-script=test/setup.sh --default-timeout=2400 || $(FAIL) | ||
@$(OK) running automated tests | ||
|
||
# This target requires the following environment variables to be set: | ||
# - UPTEST_CLOUD_CREDENTIALS, cloud credentials for the provider being tested, e.g. export UPTEST_CLOUD_CREDENTIALS=$(cat ~/.aws/credentials) | ||
e2e: build controlplane.up local.xpkg.deploy.configuration.$(PROJECT_NAME) uptest | ||
|
||
.PHONY: uptest e2e |
Oops, something went wrong.