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

[pull] main from radius-project:main #1

Open
wants to merge 141 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
4c85b6a
Updating Purge AWS Test Resources workflow (#7581)
ytimocin May 13, 2024
10627b0
Update bubbletea version and the unit test (#7526)
ytimocin May 13, 2024
0edd2b6
Bump the all group across 1 directory with 2 updates (#7591)
dependabot[bot] May 13, 2024
5fba423
Bump the all group across 1 directory with 4 updates (#7587)
dependabot[bot] May 13, 2024
427eed2
Update CLI client code and add tests (#7594)
rynowak May 16, 2024
a1cb280
add functional test results to artifacts (#7583)
nithyatsu May 16, 2024
af5e332
Stern - maxLogRequests option update (#7578)
ytimocin May 18, 2024
4537dfe
Bump the all group with 16 updates (#7615)
dependabot[bot] May 20, 2024
658dba7
fix for purge old container (#7616)
nithyatsu May 20, 2024
1a88d49
fix: close file (#7608)
testwill May 21, 2024
1af1fd8
Update Terraform recipe download error to include module version (#7620)
kachawla May 21, 2024
ea316f3
fix for rad init cannot work from folders with uppercase (#7617)
nithyatsu May 21, 2024
66aad2c
Add required_providers block to main.tf.config, functional test for T…
lakshmimsft May 21, 2024
4cacb58
Update kubebuilder to the latest working version (#7629)
sk593 May 23, 2024
950a256
Release 0.34.0-rc1: Update release version with RC1 (#7628)
sk593 May 23, 2024
1376150
Update release version 0.34 (#7633)
sk593 May 24, 2024
260c376
Bump the all group with 22 updates (#7635)
dependabot[bot] May 27, 2024
67f19d3
Update autorest related dependencies (#7636)
ytimocin May 28, 2024
f7ef3b2
Update purge workflow with manual trigger (#7622)
sk593 May 28, 2024
2b2b9d9
Revert "Update kubebuilder to the latest working version" (#7632)
sk593 May 28, 2024
0b6e13b
Update CNCF sandbox acceptance in README.md (#7639)
Reshrahim May 29, 2024
32e99aa
Update documentation on guideline for test images to be added to/pull…
lakshmimsft May 29, 2024
0cd0c8a
Fixing flaky config unit test (#7649)
ytimocin May 30, 2024
de7033d
Update purge workflow_dispatch logic (#7646)
sk593 May 30, 2024
85e1bcc
Fix purge workflow (#7653)
sk593 May 31, 2024
3ce1d0f
Adding support for terraform nested modules (#7519)
vishwahiremat May 31, 2024
b92cf6f
Update release docs (#7642)
sk593 May 31, 2024
869f120
Update instructions to publish bicep extension (#7579)
kachawla May 31, 2024
a8654c7
Bump the all group with 7 updates (#7656)
dependabot[bot] Jun 3, 2024
fe9355c
Fix for flaky unit test (#7654)
lakshmimsft Jun 3, 2024
d1a55c9
Adding EnableWebsockets property to the gateway (#7643)
ytimocin Jun 3, 2024
e3900e3
fixes #7592 - adding typed to mockgen (#7647)
superbeeny Jun 4, 2024
1ff7d17
Show correct environment and application for delete commands (#7669)
rynowak Jun 8, 2024
db6eeb2
Bump the all group with 10 updates (#7671)
dependabot[bot] Jun 10, 2024
a03a0c7
Remove extra files in TF recipe using azurerm (#7672)
lakshmimsft Jun 10, 2024
fd8d14e
Add upmerge instructions to release instructions (#7675)
willtsai Jun 10, 2024
eda496e
Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.5.1 to 1…
dependabot[bot] Jun 11, 2024
7ffcb23
Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.5.2 to 1…
dependabot[bot] Jun 12, 2024
9e9812a
Adding TypeSpec check to Lint workflow and running the TypeSpec forma…
ytimocin Jun 13, 2024
d7c5874
Adding the step to delete the created Azure resource group to the fun…
ytimocin Jun 15, 2024
5f7c51c
Bump the all group with 11 updates (#7689)
dependabot[bot] Jun 17, 2024
b2c8878
Bump mikefarah/yq from 4.44.1 to 4.44.2 in the all group (#7690)
dependabot[bot] Jun 17, 2024
d26a411
Switch Radius Helm chart pull from ACR to GHCR (#7455)
willdavsmith Jun 17, 2024
86b4397
Rename misspelled field (#7692)
rynowak Jun 17, 2024
b748443
Add Azure Workload Identity support (#7640)
willdavsmith Jun 18, 2024
e7a4ec9
Fix UCP test (#7694)
willdavsmith Jun 19, 2024
e253d7c
Fixing containerd should be direct warning by running go mod tidy (#7…
ytimocin Jun 19, 2024
3845082
Adding a test for annotations and labels to the existing k8s extensib…
ytimocin Jun 19, 2024
0b6ecc0
Release 0.35.0-rc1: Update release version with RC1 (#7698)
vishwahiremat Jun 19, 2024
d7031e2
Update release version 0.35 (#7701)
vishwahiremat Jun 21, 2024
3222fe9
Update wait time on postgres db in functional test (#7707)
lakshmimsft Jun 21, 2024
f1cdec3
Bump the all group with 14 updates (#7711)
dependabot[bot] Jun 24, 2024
95dce96
Updating dependencies manually (#7710)
ytimocin Jun 24, 2024
13d50f7
Update link in release notes highlights (#7712)
Reshrahim Jun 24, 2024
a8371ee
add IRSA credential type (#7708)
nithyatsu Jul 3, 2024
7ebd49e
Bump the all group with 13 updates (#7720)
dependabot[bot] Jul 5, 2024
534cba6
Bump the all group with 14 updates (#7729)
dependabot[bot] Jul 8, 2024
5d448d5
Fix prompt text test occasional failure (#7722)
brooke-hamilton Jul 8, 2024
ccc385f
Bump google.golang.org/grpc from 1.64.0 to 1.64.1 in the go_modules g…
dependabot[bot] Jul 9, 2024
b183209
Add secret support to Terraform Providers (backend updates) (#7695)
lakshmimsft Jul 13, 2024
00a3092
Fix broken link in contributing docs (#7736)
willdavsmith Jul 13, 2024
0782511
Bump the all group with 9 updates (#7737)
dependabot[bot] Jul 15, 2024
9b9cf3b
implement controllers for AWS IRSA (#7739)
nithyatsu Jul 16, 2024
faa6d3d
Add datamodel changes for secret support to Terraform Providers (#7731)
lakshmimsft Jul 18, 2024
2a4effe
Update release version v0.36.0-rc1 (#7742)
sk593 Jul 18, 2024
53e19b2
Update testrp and magpie Dockerfiles (#7745)
ytimocin Jul 19, 2024
fbed321
Update release version v0.36.0 (#7749)
sk593 Jul 22, 2024
a8f29eb
Bump the all group with 13 updates (#7751)
dependabot[bot] Jul 22, 2024
46bf036
Splitting functional tests as cloud and non-cloud (#7716)
ytimocin Jul 22, 2024
0dbbf5a
Reformatting the files in the scripts folder (#7755)
ytimocin Jul 22, 2024
594faf6
Update cyrilgdn/postgresql version in the postgres recipe (#7766)
ytimocin Jul 25, 2024
1127d12
Bump ossf/scorecard-action from 2.3.3 to 2.4.0 in the all group (#7769)
dependabot[bot] Jul 29, 2024
1c7b3ea
Bump the all group with 2 updates (#7768)
dependabot[bot] Jul 29, 2024
93ddbdb
Increasing `Test_TerraformRecipe_KubernetesPostgres` timeout to 2m (#…
willdavsmith Jul 29, 2024
c9b6581
implement irsa server side support (#7738)
nithyatsu Jul 29, 2024
9b77737
rad credential show - support for IRSA (#7757)
nithyatsu Jul 30, 2024
81b89fd
Adding rad install changes for AWS IRSA support (#7741)
vishwahiremat Jul 30, 2024
9b564db
"rad credential register aws" command changes for irsa (#7750)
vishwahiremat Jul 30, 2024
c62434f
Bump github.com/docker/docker from 27.0.0+incompatible to 27.1.0+inco…
dependabot[bot] Jul 30, 2024
78b52b1
Adding multi arch container image generation for magpie and testrp (#…
ytimocin Jul 31, 2024
a61a428
Updating and adding a timeout to the cleanup cluster step (#7727)
ytimocin Aug 1, 2024
b2ecfe8
Adding packages:write permission to the purge test resources workflow…
ytimocin Aug 1, 2024
be5da14
Update the registry in CLI functional test (#7779)
ytimocin Aug 2, 2024
4c9db50
Updating registry in the redis functional test (#7781)
ytimocin Aug 2, 2024
63490d6
Bump the all group with 3 updates (#7783)
dependabot[bot] Aug 5, 2024
4ba025d
Use local aws config in cli to get account and regions (#7758)
vishwahiremat Aug 5, 2024
a4a4b90
Adding rad init command changes to support irsa (#7761)
vishwahiremat Aug 6, 2024
83f57c2
Removing double imports found by staticcheck (#7791)
ytimocin Aug 8, 2024
3d96ee6
Adding a check to a cast to the Recipe object (#7797)
ytimocin Aug 9, 2024
5c10d92
Bicep compiler merge (#7662)
sk593 Aug 12, 2024
255c6d8
Update credential precedence in bicepconfig.json (#7803)
sk593 Aug 13, 2024
d01ecf9
Add warning when deleting an environment with existing applications (…
SoTrx Aug 13, 2024
9ed50f4
Replace Azure Service Principal auth with Azure Workload Identity aut…
willdavsmith Aug 13, 2024
f7c07fd
Bump the all group across 1 directory with 2 updates (#7802)
dependabot[bot] Aug 13, 2024
531d123
Bump github.com/docker/docker from 27.1.0+incompatible to 27.1.1+inco…
dependabot[bot] Aug 13, 2024
fb02873
Update error message value for LRT (#7810)
sk593 Aug 14, 2024
487081f
Update release version v0.37.0-rc1 (#7813)
vishwahiremat Aug 15, 2024
65ca82d
Update release version v0.37.0 (#7817)
vishwahiremat Aug 19, 2024
3cfb583
Add dependabot updates for bicep-types submodule (#7807)
sk593 Aug 19, 2024
6e18608
Bump bicep-types from `cd259b2` to `f0cd725` (#7821)
dependabot[bot] Aug 20, 2024
875c5ca
Remove unused test artifacts (#7824)
kachawla Aug 21, 2024
33d3d5e
Update validate workflow to test against PR specific schema changes …
sk593 Aug 21, 2024
7da87d4
Remove assets.yaml (#7832)
lakshmimsft Aug 22, 2024
a58b8cb
Temporarily disabling tests: `Test_Storage` and `Test_PersistentVolum…
willdavsmith Aug 28, 2024
84cb120
Update LoadSecrets() (#7796)
lakshmimsft Aug 29, 2024
50fef93
Add new secret types to Applications.Core/secretstores (#7816)
lakshmimsft Aug 29, 2024
940792c
Bump bicep-types from `f0cd725` to `49b2a9e` (#7843)
dependabot[bot] Aug 30, 2024
28fb22c
Fix doc links in kubernetes install command docs (#7849)
Reshrahim Aug 30, 2024
7232cc6
Updates to adding secret types PR (#7867)
lakshmimsft Aug 30, 2024
0c4a1bd
Bump the all group across 1 directory with 34 updates (#7858)
dependabot[bot] Sep 1, 2024
64da215
Bump bicep-types from `49b2a9e` to `99cdcee` (#7877)
dependabot[bot] Sep 2, 2024
96d5cf8
Bump the npm_and_yarn group across 2 directories with 2 updates (#7875)
dependabot[bot] Sep 3, 2024
3ddb61e
Adding Kubernetes native secrets to secret stores (#7744)
superbeeny Sep 3, 2024
5366a82
Fixes #7391 - fixing error in rad group show for no args (#7852)
superbeeny Sep 4, 2024
9091f8b
Add purge flag to delete radius related namespace (#7847)
lbzss Sep 5, 2024
dca3a27
Adding fix for publishing recipes to ECR (#7887)
vishwahiremat Sep 5, 2024
a1ab146
Support for secret store reference in Dapr components (#7823)
SoTrx Sep 5, 2024
dd81399
Add more Logging for cloud functional test workflow (#7885)
lakshmimsft Sep 5, 2024
cce1fe6
Add to debug logs for cloud functional test workflow (#7892)
lakshmimsft Sep 6, 2024
f89f424
Adding Bicep private registry support using basic auth, Azure workloa…
vishwahiremat Sep 9, 2024
8151a96
Add workflow condition in cloud functional tests (#7907)
lakshmimsft Sep 9, 2024
3d2825f
Remove radbicep references (#7894)
sk593 Sep 9, 2024
897f2aa
support deployment of an application to a scope "scope1" using enviro…
nithyatsu Sep 10, 2024
96fb582
Remove the error message added for debugging. (#7913)
vishwahiremat Sep 10, 2024
48c28ed
Release Radius v0.38.0-rc1 (#7920)
willdavsmith Sep 13, 2024
547fa81
Update version to 0.38 in versions.yaml (#7924)
ytimocin Sep 16, 2024
a5e97c3
Bump bicep-types from `99cdcee` to `d936309` (#7929)
dependabot[bot] Sep 16, 2024
a17f9cf
Implementation of Dapr Building Block: Configuration Store (#7906)
SoTrx Sep 18, 2024
69d6726
Updating and reformatting the release doc (#7933)
ytimocin Sep 19, 2024
50c1600
Update the timeout of the clean-up cluster step to 1h (#7938)
ytimocin Sep 19, 2024
a7395fb
Add dapr-sts* namespaces to be deleted to the clean-up workflow (#7942)
ytimocin Sep 19, 2024
cf639b4
Update golangci-lint version and fix new warnings (#7951)
ytimocin Sep 21, 2024
8f78e63
Improve validation and simplify database tests (#7949)
rynowak Sep 23, 2024
d13b0c4
Separating purge old images and purge Azure test resources workflows …
ytimocin Sep 23, 2024
62c6291
Bump peter-evans/create-pull-request from 6 to 7 in the all group (#7…
dependabot[bot] Sep 23, 2024
78751aa
Bump bicep-types from `d936309` to `ebba845` (#7957)
dependabot[bot] Sep 23, 2024
2df79ec
Add an in-memory data store (#7950)
rynowak Sep 23, 2024
24be8e6
Removing bicep workaround + minor cleanup (#7965)
sk593 Sep 27, 2024
b4c4d50
Update the bicep extension used in the dev container (#7969)
brooke-hamilton Sep 27, 2024
223ec1e
Implement PostgreSQL datastore (#7961)
rynowak Sep 27, 2024
ecd79d1
Add a PR Checklist for Contributions (#7921)
kachawla Oct 3, 2024
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
Prev Previous commit
Next Next commit
Bicep compiler merge (radius-project#7662)
# Description

This PR contains all the changes for the Bicep compiler merge. The
branch has had smaller PRs opened for specific features that can be
found below:
  
- [x] Bicep types generator is updated to use the `bicep-types`
repository as a submodule. This includes updating the types contract and
adding support for resource methods (eg `listSecrets`):
radius-project@43403fd
. There was also a small update to how we handle flags on the `location`
[property](radius-project@19afe96)
- [x] Update to build workflow to initialize the submodule and publish
types to `biceptypes.azurecr.io` using the `bicep publish-extension`
command:
radius-project@fed2462
- [x] Update validate bicep workflow to validate bicep files in the
repository with the official Bicep compiler. This includes updating
extension imports of all bicep files and adding a `bicepconfig.json` to
the repository: radius-project#7702
- [x] Update functional test workflow to publish types to
`biceptypes.azurecr.io`. This includes publishing the bicep types to a
PR tag and adding a temporary `bicepconfig.json` to consume the
PR-specific types [radius-project#7730]
- [x] Update release workflow to publish types to a release-specific
tag. This includes running a build in the `bicep-types-aws` repo to
publish AWS types to a release tag
- [x] Updates to `rad bicep download`. This command will download the
official Bicep binary instead of the Radius one. The install script
calls this command so the official Bicep binary will be downloaded on a
Radius install:
radius-project@bb8da88
- [x] Updates to `rad init` to generate a default `bicepconfig.json`.
This will pull the Radius and AWS types in our ACR with the current
release tag: radius-project#7664

## Type of change

<!--

Please select **one** of the following options that describes your
change and delete the others. Clearly identifying the type of change you
are making will help us review your PR faster, and is used in authoring
release notes.

If you are making a bug fix or functionality change to Radius and do not
have an associated issue link please create one now.

-->

- This pull request fixes a bug in Radius and has an approved issue
(issue link required).
- This pull request adds or changes features of Radius and has an
approved issue (issue link required).
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).

<!--

Please update the following to link the associated issue. This is
required for some kinds of changes (see above).

-->

Fixes: #issue_number

---------

# Description

_Please explain the changes you've made._

## Type of change

<!--

Please select **one** of the following options that describes your
change and delete the others. Clearly identifying the type of change you
are making will help us review your PR faster, and is used in authoring
release notes.

If you are making a bug fix or functionality change to Radius and do not
have an associated issue link please create one now.

-->

- This pull request fixes a bug in Radius and has an approved issue
(issue link required).
- This pull request adds or changes features of Radius and has an
approved issue (issue link required).
- This pull request is a minor refactor, code cleanup, test improvement,
or other maintenance task and doesn't change the functionality of Radius
(issue link optional).

<!--

Please update the following to link the associated issue. This is
required for some kinds of changes (see above).

-->

Fixes: #issue_number

---------

Signed-off-by: sk593 <shruthikumar@microsoft.com>
  • Loading branch information
sk593 authored Aug 12, 2024
commit 5c10d9290416e16e9485af5eea199dac48154e74
47 changes: 47 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ env:
# URL to get source code for building the image
IMAGE_SRC: https://github.com/radius-project/radius

# bicep-types ACR url for uploading Radius Bicep types
BICEP_TYPES_REGISTRY: 'biceptypes.azurecr.io'

jobs:
build-and-push-cli:
name: Build ${{ matrix.target_os }}_${{ matrix.target_arch }} binaries
Expand Down Expand Up @@ -259,6 +262,50 @@ jobs:
echo ${{ secrets.GITHUB_TOKEN }} | helm registry login -u ${{ github.actor }} --password-stdin ${{ env.OCI_REGISTRY }}
helm push ${{ env.ARTIFACT_DIR }}/${{ env.HELM_PACKAGE_DIR }}/radius-${{ env.CHART_VERSION }}.tgz oci://${{ env.OCI_REGISTRY }}/${{ env.OCI_REPOSITORY }}

build-and-push-bicep-types:
name: Publish Radius bicep types to ACR
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Parse release version and set environment variables
run: python ./.github/scripts/get_release_version.py
- name: Set up Go ${{ env.GOVER }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GOVER }}
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
- name: Generate Bicep extensibility types from OpenAPI specs
run: |
make generate-bicep-types VERSION=${{ env.REL_CHANNEL == 'edge' && 'latest' || env.REL_CHANNEL }}
- name: Upload Radius Bicep types artifacts
uses: actions/upload-artifact@v4
with:
name: radius-bicep-types
path: ./hack/bicep-types-radius/generated
if-no-files-found: error
- name: 'Login via Azure CLI'
if: github.repository == 'radius-project/radius' && ((startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main'))
uses: azure/login@v2
with:
client-id: ${{ secrets.BICEPTYPES_CLIENT_ID }}
tenant-id: ${{ secrets.BICEPTYPES_TENANT_ID }}
subscription-id: ${{ secrets.BICEPTYPES_SUBSCRIPTION_ID }}
- name: Setup and verify bicep CLI
if: github.repository == 'radius-project/radius' && ((startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main'))
run: |
curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64
chmod +x ./bicep
sudo mv ./bicep /usr/local/bin/bicep
bicep --version
- name: Publish bicep types
if: github.repository == 'radius-project/radius' && ((startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main'))
run: |
bicep publish-extension ./hack/bicep-types-radius/generated/index.json --target br:${{ env.BICEP_TYPES_REGISTRY }}/radius:${{ env.REL_CHANNEL == 'edge' && 'latest' || env.REL_CHANNEL }} --force

publish-release:
name: Publish GitHub Release
needs: ["build-and-push-cli"]
Expand Down
69 changes: 67 additions & 2 deletions .github/workflows/functional-test-cloud.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ env:
TF_RECIPE_PRIVATE_GIT_SOURCE: "git::https://github.com/radius-project/terraform-private-modules//kubernetes-redis"
# The number of failed tests to report.
ISSUE_CREATE_THRESHOLD: 2
# bicep-types ACR url for uploading Radius Bicep types
BICEP_TYPES_REGISTRY: 'biceptypes.azurecr.io'

jobs:
build:
Expand Down Expand Up @@ -348,10 +350,51 @@ jobs:
append: true
message: |
:x: Test recipe publishing failed

publish-test-bicep-types:
name: Publish Radius bicep types to ACR
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Parse release version and set environment variables
run: python ./.github/scripts/get_release_version.py
- name: Set up Go ${{ env.GOVER }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GOVER }}
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
- name: Generate Bicep extensibility types from OpenAPI specs
run: |
make generate-bicep-types VERSION=${{ env.REL_VERSION == 'edge' && 'latest' || env.REL_VERSION }}
- name: Upload Radius Bicep types artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.name }}_radius_bicep_types
path: ./hack/bicep-types-radius/generated
if-no-files-found: error
- name: 'Login via Azure CLI'
uses: azure/login@v2
with:
client-id: ${{ secrets.BICEPTYPES_CLIENT_ID }}
tenant-id: ${{ secrets.BICEPTYPES_TENANT_ID }}
subscription-id: ${{ secrets.BICEPTYPES_SUBSCRIPTION_ID }}
- name: Setup and verify bicep CLI
run: |
curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64
chmod +x ./bicep
sudo mv ./bicep /usr/local/bin/bicep
bicep --version
- name: Publish bicep types
run: |
bicep publish-extension ./hack/bicep-types-radius/generated/index.json --target br:${{ env.BICEP_TYPES_REGISTRY }}/test/radius:${{ env.REL_VERSION == 'edge' && 'latest' || env.REL_VERSION }} --force

tests:
name: Run ${{ matrix.name }} functional tests
needs: build
needs: [build, publish-test-bicep-types]
if: github.event_name == 'repository_dispatch' || (github.event_name == 'schedule' && github.repository == 'radius-project/radius') || github.event_name == 'workflow_run'
strategy:
fail-fast: true
Expand Down Expand Up @@ -593,7 +636,29 @@ jobs:
- name: Publish Terraform test recipes
run: |
make publish-test-terraform-recipes

- name: Generate test bicepconfig.json
run: |
if [[ "${{ env.REL_VERSION }}" == "edge" ]]; then
RADIUS_VERSION="latest"
else
RADIUS_VERSION="${{ env.REL_VERSION }}"
fi
cat <<EOF > ./test/bicepconfig.json
{
"experimentalFeaturesEnabled": {
"extensibility": true,
"extensionRegistry": true,
"dynamicTypeLoading": true
},
"extensions": {
"radius": "br:${{ env.BICEP_TYPES_REGISTRY }}/test/radius:$RADIUS_VERSION",
"aws": "br:${{ env.BICEP_TYPES_REGISTRY }}/aws:latest"
},
"cloud": {
"credentialPrecedence": ["Environment"]
}
}
EOF
- name: Run functional tests
run: |
# Ensure rad cli is in path before running tests.
Expand Down
58 changes: 55 additions & 3 deletions .github/workflows/functional-test-noncloud.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@ env:
LOCAL_REGISTRY_SERVER: "localhost"
# Local Docker registry port
LOCAL_REGISTRY_PORT: "5000"
# bicep-types ACR url for uploading Radius Bicep types
BICEP_TYPES_REGISTRY: 'biceptypes.azurecr.io'

jobs:
build:
Expand Down Expand Up @@ -125,8 +127,7 @@ jobs:
# Set output variables to be used in the other jobs
echo "REL_VERSION=pr-${UNIQUE_ID}" >> $GITHUB_OUTPUT
echo "DE_IMAGE=${{ env.DE_IMAGE }}" >> $GITHUB_OUTPUT
echo "DE_TAG=${{ env.DE_TAG }}" >> $GITHUB_OUTPUT

echo "DE_TAG=${{ env.DE_TAG }}" >> $GITHUB_OUTPUT
tests:
name: Run ${{ matrix.name }} functional tests
needs: build
Expand Down Expand Up @@ -205,6 +206,22 @@ jobs:
restore-keys: |
${{ runner.os }}-go-

- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: '18'

- name: Generate Bicep extensibility types from OpenAPI specs
run: |
make generate-bicep-types VERSION=${{ env.REL_VERSION == 'edge' && 'latest' || env.REL_VERSION }}

- name: Upload Radius Bicep types artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.name }}_radius_bicep_types
path: ./hack/bicep-types-radius/generated
if-no-files-found: error

- name: Create a secure local registry
id: create-local-registry
uses: ./.github/actions/create-local-registry
Expand Down Expand Up @@ -300,6 +317,41 @@ jobs:
run: |
make publish-test-terraform-recipes

- name: Setup and verify bicep CLI
run: |
curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64
chmod +x ./bicep
sudo mv ./bicep /usr/local/bin/bicep
bicep --version

- name: Publish bicep types
run: |
bicep publish-extension ./hack/bicep-types-radius/generated/index.json --target br:${{ env.LOCAL_REGISTRY_SERVER }}:${{ env.LOCAL_REGISTRY_PORT }}/radius:${{ env.REL_VERSION == 'edge' && 'latest' || env.REL_VERSION }} --force

- name: Generate test bicepconfig.json
run: |
if [[ "${{ env.REL_VERSION }}" == "edge" ]]; then
RADIUS_VERSION="latest"
else
RADIUS_VERSION="${{ env.REL_VERSION }}"
fi
cat <<EOF > ./test/bicepconfig.json
{
"experimentalFeaturesEnabled": {
"extensibility": true,
"extensionRegistry": true,
"dynamicTypeLoading": true
},
"extensions": {
"radius": "br:${{ env.LOCAL_REGISTRY_SERVER }}:${{ env.LOCAL_REGISTRY_PORT }}/radius:$RADIUS_VERSION",
"aws": "br:${{ env.BICEP_TYPES_REGISTRY }}/aws:latest"
},
"cloud": {
"credentialPrecedence": ["Environment"]
}
}
EOF

- name: Publish Bicep Test Recipes
run: |
export PATH=$GITHUB_WORKSPACE/bin:$PATH
Expand All @@ -310,7 +362,7 @@ jobs:
BICEP_RECIPE_TAG_VERSION: ${{ env.REL_VERSION }}
TEMP_CERT_DIR: ${{ steps.create-local-registry.outputs.temp-cert-dir }}
SSL_CERT_FILE: ${{ steps.create-local-registry.outputs.temp-cert-dir }}/certs/${{ env.LOCAL_REGISTRY_SERVER }}/client.crt

- name: Run functional tests
run: |
# Ensure rad cli is in path before running tests.
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,13 @@ jobs:
ref: main
token: ${{ secrets.GH_RAD_CI_BOT_PAT }}
path: dashboard
- name: Checkout radius-project/bicep-types-aws@main
uses: actions/checkout@v4
with:
repository: radius-project/bicep-types-aws
ref: main
token: ${{ secrets.GH_RAD_CI_BOT_PAT }}
path: bicep-types-aws
- name: Set up GitHub credentials
run: |
git config --global user.name "Radius CI Bot"
Expand Down Expand Up @@ -226,3 +233,7 @@ jobs:
if: success() && steps.release-branch-exists.outputs.result == 'false'
run: |
./radius/.github/scripts/release-create-tag-and-branch.sh dashboard ${{ steps.get-version.outputs.release-version }} ${{ steps.get-version.outputs.release-branch-name }}
- name: Release radius-project/bicep-types-aws version ${{ steps.get-version.outputs.release-version }}
if: success() && steps.release-branch-exists.outputs.result == 'false'
run: |
./radius/.github/scripts/release-create-tag-and-branch.sh bicep-types-aws ${{ steps.get-version.outputs.release-version }} ${{ steps.get-version.outputs.release-branch-name }}
19 changes: 10 additions & 9 deletions .github/workflows/validate-bicep.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ on:
- main
- release/*

permissions:
id-token: write # Required for requesting the JWT

concurrency:
# Cancel the previously triggered build for only PR build.
group: bicep-${{ github.event.pull_request.number || github.sha }}
Expand All @@ -33,17 +36,15 @@ jobs:
name: Validate Bicep Code
runs-on: ubuntu-latest
steps:
- name: Setup and verify bicep CLI
run: |
curl -Lo bicep https://github.com/Azure/bicep/releases/latest/download/bicep-linux-x64
chmod +x ./bicep
sudo mv ./bicep /usr/local/bin/bicep
bicep --version
- name: Check out repo
uses: actions/checkout@v4
- name: Parse release version and set environment variables
run: python ./.github/scripts/get_release_version.py
- uses: oras-project/setup-oras@main
- name: Download rad-bicep
run: |
oras pull ghcr.io/radius-project/radius/bicep/rad-bicep/linux-x64:latest -o ./
chmod +x rad-bicep
./rad-bicep --version
- name: Verify Bicep files
run: ./build/validate-bicep.sh
env:
BICEP_PATH: './rad-bicep'
BICEP_PATH: 'bicep'
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ vendor/
# Radius scaffolding
app.bicep
.rad/
bicepconfig.json

# Build Output
bin/
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "bicep-types"]
path = bicep-types
url = https://github.com/Azure/bicep-types
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,21 @@
"RADIUSBACKENDURI": "http://localhost:9000",
},
},
{
"name": "Debug Bicep generator integration tests",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--inspect-brk",
"${workspaceRoot}/hack/bicep-types-radius/src/autorest.bicep/node_modules/.bin/jest",
"--runInBand",
"--no-cache"
],
"cwd": "${workspaceFolder}/hack/bicep-types-radius/src/autorest.bicep/src",
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"sourceMaps": true
},
],
"compounds": [
{
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ In addition, we have the below repositories.
| [Samples](https://github.com/radius-project/samples) | This repository contains the source code for quickstarts, reference apps, and tutorials for Radius.
| [Recipes](https://github.com/radius-project/recipes) | This repo contains commonly used Recipe templates for Radius Environments.
| [Website](https://github.com/radius-project/website) | This repository contains the source code for the Radius website.
| [Bicep](https://github.com/radius-project/bicep) | This repository contains source code for Bicep, which is a DSL for deploying cloud resources types.
| [AWS Bicep Types](https://github.com/radius-project/bicep-types-aws) | This repository contains the tooling for Bicep support for AWS resource types.


Expand Down
1 change: 1 addition & 0 deletions bicep-types
Submodule bicep-types added at cd259b
14 changes: 14 additions & 0 deletions bicepconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"experimentalFeaturesEnabled": {
"extensibility": true,
"extensionRegistry": true,
"dynamicTypeLoading": true
},
"extensions": {
"radius": "br:biceptypes.azurecr.io/radius:latest",
"aws": "br:biceptypes.azurecr.io/aws:latest"
},
"cloud": {
"credentialPrecedence": ["Environment"]
}
}
9 changes: 5 additions & 4 deletions build/generate.mk
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,12 @@ generate-go: generate-mockgen-installed ## Generates go with 'go generate' (Mock
generate-bicep-types: generate-node-installed ## Generate Bicep extensibility types
@echo "$(ARROW) Generating Bicep extensibility types from OpenAPI specs..."
@echo "$(ARROW) Build autorest.bicep..."
cd hack/bicep-types-radius/src/autorest.bicep; \
npm ci && npm run build; \
cd ../generator; \
git submodule update --init --recursive; \
npm --prefix bicep-types/src/bicep-types install; \
npm --prefix bicep-types/src/bicep-types ci && npm --prefix bicep-types/src/bicep-types run build; \
npm --prefix hack/bicep-types-radius/src/autorest.bicep ci && npm --prefix hack/bicep-types-radius/src/autorest.bicep run build; \
echo "Run generator from hack/bicep-types-radius/src/generator dir"; \
npm ci && npm run generate -- --specs-dir ../../../../swagger --verbose
npm --prefix hack/bicep-types-radius/src/generator ci && npm --prefix hack/bicep-types-radius/src/generator run generate -- --specs-dir ../../../../swagger --release-version ${VERSION} --verbose

# go-get-tool will 'go get' any package $2 and install it to $1.
PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/..
Expand Down
Loading