diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 206f6b9..0df2092 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,10 @@ on: jobs: build: name: Build the code - runs-on: ubuntu-latest + runs-on: ubuntu-latest + env: + ORG_GRADLE_PROJECT_artifactory_user: '${{secrets.ARTIFACTORY_USER}}' + ORG_GRADLE_PROJECT_artifactory_password: '${{secrets.ARTIFACTORY_TOKEN}}' steps: - name: checkout code uses: actions/checkout@v2 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index e5d919d..5424cea 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -24,6 +24,9 @@ jobs: build: name: Build releaseBundle runs-on: ubuntu-latest + env: + ORG_GRADLE_PROJECT_artifactory_user: '${{secrets.ARTIFACTORY_USER}}' + ORG_GRADLE_PROJECT_artifactory_password: '${{secrets.ARTIFACTORY_TOKEN}}' steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fc932c6..096c849 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,6 +23,9 @@ jobs: build: name: Release Plugin runs-on: ubuntu-latest + env: + ORG_GRADLE_PROJECT_artifactory_user: '${{secrets.ARTIFACTORY_USER}}' + ORG_GRADLE_PROJECT_artifactory_password: '${{secrets.ARTIFACTORY_TOKEN}}' steps: - uses: actions/setup-java@v1 with: diff --git a/.husky/.gitignore b/.husky/.gitignore new file mode 100644 index 0000000..31354ec --- /dev/null +++ b/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..ab306c7 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# CHECK THIS FILE INTO SOURCE CONTROL! + +. "$(dirname "$0")/_/husky.sh" + +[[ -e lambda-deployment-deck/node_modules/.bin/lint-staged ]] && cd lambda-deployment-deck; ./node_modules/.bin/lint-staged -p false diff --git a/gradle.properties b/gradle.properties index 25f110c..405bec6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,9 @@ -version=1.0.9 +version=1.0.10 org.gradle.parallel=true -spinnakerGradleVersion=8.10.0 +spinnakerGradleVersion=8.15.0 pf4jVersion=3.2.0 -korkVersion=7.59.0 -orcaVersion=8.10.0 +korkVersion=7.115.0 +orcaVersion=2021.08.17.09.13.42.release-1.27.x kotlinVersion=1.3.50 -clouddriverVersion=5.69.0 +artifactory_user= +artifactory_password= diff --git a/lambda-deployment-deck/.lintstagedrc.json b/lambda-deployment-deck/.lintstagedrc.json new file mode 100644 index 0000000..d335fe8 --- /dev/null +++ b/lambda-deployment-deck/.lintstagedrc.json @@ -0,0 +1,4 @@ +{ + "src/**/*.{js,jsx,ts,tsx}": ["eslint --fix", "prettier --write"], + "src/**/*.{css,less,html}": "prettier --write" +} \ No newline at end of file diff --git a/lambda-deployment-deck/package.json b/lambda-deployment-deck/package.json index 0753fdc..315efab 100644 --- a/lambda-deployment-deck/package.json +++ b/lambda-deployment-deck/package.json @@ -5,62 +5,72 @@ "module": "build/dist/index.js", "scripts": { "clean": "npx shx rm -rf build", - "build": "rollup -c", - "watch": "rollup -c -w", + "develop": "npm run clean && run-p watch proxy", + "build": "npm run clean && NODE_ENV=production rollup -c", "test": "jest", - "postinstall": "check-plugin && check-peer-dependencies || true" + "postinstall": "check-plugin && check-peer-dependencies || true", + "proxy": "dev-proxy", + "watch": "rollup -c -w --no-watch.clearScreen", + "lint": "eslint --ext js,jsx,ts,tsx src", + "prepare": "husky-install", + "prettier": "prettier --write 'src/**/*.{js,jsx,ts,tsx,html,css,less,json}'", + "modules": "echo 'no-op'" }, "dependencies": { - "@spinnaker/amazon": "0.0.262", - "@spinnaker/pluginsdk": "0.0.19", + "@spinnaker/amazon": "0.7.7", + "@spinnaker/pluginsdk": "0.2.0", + "@spinnaker/presentation": "0.0.5", + "@spinnaker/pluginsdk-peerdeps": "0.0.16", "@types/classnames": "^2.2.10", "@types/lodash": "^4.14.159", "@types/react-select": "^1.3.4", "@uirouter/core": "6.0.4", "@uirouter/react": "1.0.2", - "bufferutil": "4.0.1", + "bufferutil": "4.0.2", "canvas": "2.6.1", "classnames": "^2.2.6", - "husky": "4.2.5", "lodash": "^4.17.20", "lodash-es": "4.17.15", - "pretty-quick": "2.0.1", + "pretty-quick": "3.1.1", "prop-types": "15.6.1", - "react": "16.8.6", - "react-dom": "16.8.6", - "rxjs": "5.4.2", - "utf-8-validate": "5.0.2" + "react": "16.14.0", + "react-dom": "16.14.0", + "rxjs": "6.6.7", + "utf-8-validate": "5.0.3" }, "devDependencies": { "@babel/core": "^7.11.5", "@babel/preset-env": "^7.11.5", "@babel/preset-react": "^7.10.4", "@babel/preset-typescript": "^7.10.4", - "@rollup/plugin-commonjs": "11.0.2", - "@rollup/plugin-node-resolve": "7.1.3", - "@rollup/plugin-typescript": "4.1.1", - "@spinnaker/core": "0.0.479", - "@spinnaker/eslint-plugin": "1.0.7", + "@rollup/plugin-commonjs": "18.0.0", + "@rollup/plugin-node-resolve": "11.2.1", + "@rollup/plugin-typescript": "8.2.1", + "@rollup/plugin-url": "6.0.0", + "@spinnaker/core": "0.0.574", + "@spinnaker/eslint-plugin": "1.0.13", "@testing-library/react": "^11.0.1", "@types/react": "16.8.25", - "@typescript-eslint/eslint-plugin": "2.26.0", - "@typescript-eslint/parser": "2.26.0", + "@types/react-dom": "16.8.4", + "@typescript-eslint/eslint-plugin": "4.4.0", + "@typescript-eslint/parser": "4.4.0", "babel-jest": "^26.3.0", - "eslint": "6.8.0", - "eslint-config-prettier": "6.10.1", - "eslint-plugin-react-hooks": "3.0.0", + "eslint": "7.10.0", + "eslint-config-prettier": "6.12.0", + "eslint-plugin-react-hooks": "4.1.2", + "npm-run-all": "4.1.5", "jest": "^26.4.2", - "prettier": "2.0.2", + "prettier": "2.1.2", "react-test-renderer": "16.8.6", - "rollup": "1.32.1", - "rollup-plugin-external-globals": "0.5.0", - "rollup-plugin-less": "1.1.2", - "rollup-plugin-postcss": "3.1.1", - "shx": "0.3.2", - "typescript": "3.8.3" + "rollup": "2.45.2", + "rollup-plugin-external-globals": "0.6.1", + "rollup-plugin-less": "1.1.3", + "rollup-plugin-postcss": "3.1.8", + "graphql": "^15.5.1", + "shx": "0.3.3", + "typescript": "4.0.2" }, "files": [ "build/dist" ] } - diff --git a/lambda-deployment-orca/lambda-deployment-orca.gradle b/lambda-deployment-orca/lambda-deployment-orca.gradle index a37c5ec..49f87c9 100644 --- a/lambda-deployment-orca/lambda-deployment-orca.gradle +++ b/lambda-deployment-orca/lambda-deployment-orca.gradle @@ -13,8 +13,13 @@ targetCompatibility = 1.11 repositories { mavenCentral() - jcenter() - maven { url "http://dl.bintray.com/spinnaker/spinnaker/" } + maven { + url 'https://armory.jfrog.io/armory/gradle-dev-local/' + credentials { + username = "${artifactory_user}" + password = "${artifactory_password}" + } + } } spinnakerPlugin { @@ -24,13 +29,15 @@ spinnakerPlugin { } dependencies { - compileOnly(group: 'org.pf4j', name: 'pf4j', version: "${pf4jVersion}") - compileOnly (group: 'com.netflix.spinnaker.orca', name: 'orca-api', version: "${orcaVersion}") - compileOnly (group: 'com.netflix.spinnaker.orca', name: 'orca-clouddriver', version: "${orcaVersion}") - compileOnly (group: 'com.netflix.spinnaker.orca', name: 'orca-core', version: "${orcaVersion}") + compileOnly(group: 'org.pf4j', name: 'pf4j', version: "${pf4jVersion}") + compileOnly(enforcedPlatform("io.spinnaker.kork:kork-bom:${korkVersion}")) + compileOnly(enforcedPlatform("io.spinnaker.orca:orca-bom:${orcaVersion}")) + compileOnly (group: 'io.spinnaker.orca', name: 'orca-api') + compileOnly (group: 'io.spinnaker.orca', name: 'orca-clouddriver') + compileOnly (group: 'io.spinnaker.orca', name: 'orca-core') compileOnly ("org.projectlombok:lombok:1.18.12") - compileOnly (group: 'com.netflix.spinnaker.kork', name: 'kork-artifacts', version: "${korkVersion}") - compileOnly (group: 'com.netflix.spinnaker.kork', name: 'kork-plugins-spring-api', version: "${korkVersion}") + compileOnly (group: 'io.spinnaker.kork', name: 'kork-artifacts') + compileOnly (group: 'io.spinnaker.kork', name: 'kork-plugins-spring-api') implementation("com.amazonaws:aws-java-sdk:1.11.877") implementation("org.apache.commons:commons-lang3:3.8.1") implementation("com.github.ben-manes.caffeine:guava:2.8.5") @@ -41,8 +48,10 @@ dependencies { implementation("com.squareup.okhttp3:okhttp-apache:3.13.1") annotationProcessor("org.pf4j:pf4j:3.2.0") annotationProcessor ("org.projectlombok:lombok:1.18.12") - testImplementation (group: 'com.netflix.spinnaker.orca', name: 'orca-api', version: "${orcaVersion}") + testImplementation(enforcedPlatform("io.spinnaker.kork:kork-bom:${korkVersion}")) + testImplementation(enforcedPlatform("io.spinnaker.orca:orca-bom:${orcaVersion}")) + testImplementation (group: 'io.spinnaker.orca', name: 'orca-api') testImplementation "org.junit.jupiter:junit-jupiter-api:5.5.2" testImplementation group: 'io.strikt', name: 'strikt-core', version: '0.22.1' testImplementation group: 'dev.minutest', name: 'minutest', version: '1.10.0' @@ -51,7 +60,7 @@ dependencies { testImplementation "ru.lanwen.wiremock:wiremock-junit5:1.3.1" testCompile group: 'org.mockito', name: 'mockito-core', version: '2.19.0' testCompile group: 'org.mockito', name: 'mockito-junit-jupiter', version: '2.19.0' - testCompile (group: 'com.netflix.spinnaker.orca', name: 'orca-clouddriver', version: "${orcaVersion}") + testCompile (group: 'io.spinnaker.orca', name: 'orca-clouddriver') testRuntime "org.junit.jupiter:junit-jupiter-engine:5.4.0" testRuntime "org.junit.platform:junit-platform-launcher:1.4.0" diff --git a/lambda-deployment-orca/src/main/java/com/amazon/aws/spinnaker/plugin/lambda/LambdaCloudOperationOutput.java b/lambda-deployment-orca/src/main/java/com/amazon/aws/spinnaker/plugin/lambda/LambdaCloudOperationOutput.java index a32163a..43a700b 100644 --- a/lambda-deployment-orca/src/main/java/com/amazon/aws/spinnaker/plugin/lambda/LambdaCloudOperationOutput.java +++ b/lambda-deployment-orca/src/main/java/com/amazon/aws/spinnaker/plugin/lambda/LambdaCloudOperationOutput.java @@ -18,7 +18,6 @@ package com.amazon.aws.spinnaker.plugin.lambda; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.netflix.spinnaker.orca.api.simplestage.SimpleStageOutput; import lombok.Builder; import lombok.Data; diff --git a/settings.gradle b/settings.gradle index a81b565..cd03992 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,5 @@ pluginManagement { repositories { - mavenLocal() - maven { url "https://dl.bintray.com/spinnaker/gradle/" } gradlePluginPortal() } }