@@ -3,7 +3,7 @@ package netlify
|
||||
import (
|
||||
"dagger.io/dagger"
|
||||
"dagger.io/alpine"
|
||||
"dagger.io/dagger/op"
|
||||
"dagger.io/os"
|
||||
)
|
||||
|
||||
// A Netlify account
|
||||
@@ -34,53 +34,56 @@ import (
|
||||
create: bool | *true
|
||||
|
||||
// Website url
|
||||
url: string
|
||||
url: {
|
||||
os.#File & {
|
||||
from: ctr
|
||||
path: "/netlify/url"
|
||||
}
|
||||
}.read.data
|
||||
|
||||
// Unique Deploy URL
|
||||
deployUrl: string
|
||||
deployUrl: {
|
||||
os.#File & {
|
||||
from: ctr
|
||||
path: "/netlify/deployUrl"
|
||||
}
|
||||
}.read.data
|
||||
|
||||
// Logs URL for this deployment
|
||||
logsUrl: string
|
||||
logsUrl: {
|
||||
os.#File & {
|
||||
from: ctr
|
||||
path: "/netlify/logsUrl"
|
||||
}
|
||||
}.read.data
|
||||
|
||||
#up: [
|
||||
op.#Load & {
|
||||
from: alpine.#Image & {
|
||||
package: bash: "=~5.1"
|
||||
package: jq: "=~1.6"
|
||||
package: curl: "=~7.76"
|
||||
package: yarn: "=~1.22"
|
||||
ctr: os.#Container & {
|
||||
image: alpine.#Image & {
|
||||
package: {
|
||||
bash: "=~5.1"
|
||||
jq: "=~1.6"
|
||||
curl: "=~7.76"
|
||||
yarn: "=~1.22"
|
||||
}
|
||||
},
|
||||
op.#Exec & {
|
||||
args: ["yarn", "global", "add", "netlify-cli@2.47.0"]
|
||||
},
|
||||
op.#Exec & {
|
||||
args: [
|
||||
"/bin/bash",
|
||||
"--noprofile",
|
||||
"--norc",
|
||||
"-eo",
|
||||
"pipefail",
|
||||
"-c",
|
||||
#code,
|
||||
]
|
||||
env: {
|
||||
NETLIFY_SITE_NAME: name
|
||||
if (create) {
|
||||
NETLIFY_SITE_CREATE: "1"
|
||||
}
|
||||
if customDomain != _|_ {
|
||||
NETLIFY_DOMAIN: customDomain
|
||||
}
|
||||
NETLIFY_ACCOUNT: account.name
|
||||
NETLIFY_AUTH_TOKEN: account.token
|
||||
}
|
||||
setup: [
|
||||
"yarn global add netlify-cli@2.47.0",
|
||||
]
|
||||
// set in netlify.sh.cue
|
||||
// FIXME: use embedding once cue supports it
|
||||
command: _
|
||||
env: {
|
||||
NETLIFY_SITE_NAME: name
|
||||
if (create) {
|
||||
NETLIFY_SITE_CREATE: "1"
|
||||
}
|
||||
dir: "/src"
|
||||
mount: "/src": from: contents
|
||||
},
|
||||
op.#Export & {
|
||||
source: "/output.json"
|
||||
format: "json"
|
||||
},
|
||||
]
|
||||
if customDomain != _|_ {
|
||||
NETLIFY_DOMAIN: customDomain
|
||||
}
|
||||
NETLIFY_ACCOUNT: account.name
|
||||
NETLIFY_AUTH_TOKEN: account.token
|
||||
}
|
||||
dir: "/src"
|
||||
mount: "/src": from: contents
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package netlify
|
||||
|
||||
#code: #"""
|
||||
#Site: ctr: command: #"""
|
||||
create_site() {
|
||||
url="https://api.netlify.com/api/v1/${NETLIFY_ACCOUNT:-}/sites"
|
||||
|
||||
@@ -41,9 +41,10 @@ package netlify
|
||||
deployUrl=$(</tmp/stdout sed -n -e 's/^Unique Deploy URL:.*\(https:\/\/.*\)$/\1/p' | tr -d '\n')
|
||||
logsUrl=$(</tmp/stdout sed -n -e 's/^Logs:.*\(https:\/\/.*\)$/\1/p' | tr -d '\n')
|
||||
|
||||
jq -n \
|
||||
--arg url "$url" \
|
||||
--arg deployUrl "$deployUrl" \
|
||||
--arg logsUrl "$logsUrl" \
|
||||
'{url: $url, deployUrl: $deployUrl, logsUrl: $logsUrl}' > /output.json
|
||||
# Write output files
|
||||
mkdir -p /netlify
|
||||
echo "$url" > /netlify/url
|
||||
echo "$deployUrl" > /netlify/deployUrl
|
||||
echo "$logsUrl" > /netlify/logsUrl
|
||||
|
||||
"""#
|
||||
|
Reference in New Issue
Block a user