Serverlist October: GitHub Actions, Deployment Best Practices, and more



Check out our ninth edition of The Serverlist below. Get the latest scoop on the serverless space, get your hands dirty with new developer tutorials, engage in conversations with other serverless developers, and find upcoming meetups and conferences to attend.

Sign up below to have The Serverlist sent directly to your mailbox.

/* These !important rules are necessary to override inline color and font-size attrs on elements generated from Marketo */
.newsletter form {
color:#646567 !important;
font-family: inherit !important;
font-size: inherit !important;
width: 100% !important;
}

.newsletter form {
display: flex;
flex-direction: row;
justify-content: flex-start;
line-height: 1.5em;
margin-bottom: 1em;
padding: 0em;
}

.newsletter input[type=”Email”], .mktoForm.mktoHasWidth.mktoLayoutLeft .mktoButtonWrap.mktoSimple .mktoButton {
border-radius: 3px !important;
font: inherit;
line-height: 1.5em;
padding-top: .5em;
padding-bottom: .5em;
}

.newsletter input[type=”Email”] {
border: 1px solid #ccc;
box-shadow: none;
height: initial;
margin: 0;
margin-right: .5em;
padding-left: .8em;
padding-right: .8em;
/* This !important is necessary to override inline width attrs on elements generated from Marketo */
width: 100% !important;
}

.newsletter input[type=”Email”]:focus {
border: 1px solid #3279b3;
}

.newsletter .mktoForm.mktoHasWidth.mktoLayoutLeft .mktoButtonWrap.mktoSimple .mktoButton {
background-color: #f18030 !important;
border: 1px solid #f18030 !important;
color: #fff !important;
padding-left: 1.25em;
padding-right: 1.25em;
}

.newsletter .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
border: 1px solid #f18030 !important;
}

.newsletter .privacy-link {
font-size: .8em;
}

.newsletter .mktoAsterix, .newsletter .mktoGutter, .newsletter .mktoLabel, .newsletter .mktoOffset {
display: none;
}

.newsletter .mktoButtonWrap, .newsletter .mktoFieldDescriptor {
/* This !important is necessary to override inline margin attrs on elements generated from Marketo */
margin: 0px !important;
}

.newsletter .mktoForm .mktoButtonRow {
margin-left: 0.5em;
}

.newsletter .mktoFormRow:first-of-type, .newsletter .mktoFormRow:first-of-type .mktoFieldDescriptor.mktoFormCol, .newsletter .mktoFormRow:first-of-type .mktoFieldDescriptor.mktoFormCol .mktoFieldWrap.mktoRequiredField {
width: 100% !important;
}

.newsletter .mktoForm .mktoField:not([type=checkbox]):not([type=radio]) {
width: 100% !important
}


iframe[seamless]{
background-color: transparent;
border: 0 none transparent;
padding: 0;
overflow: hidden;
}

const magic = document.getElementById(‘magic’)

function resizeIframe() {
const iframeDoc = magic.contentDocument
const iframeWindow = magic.contentWindow
magic.height = iframeDoc.body.clientHeight
magic.width = “100%”

const injectedStyle = iframeDoc.createElement(‘style’)

injectedStyle.innerHTML = `
body {
background: white !important;
}
.stack {
display: flex;
align-items: center;
}
#footerModulec155fe9e-f964-4fdf-829b-1366f112e82b .stack {
display: block;
}
`

magic.contentDocument.head.appendChild(injectedStyle)

function onFinish() {
setTimeout(() => {
magic.style.visibility = ”
}, 80)
}

if (iframeDoc.readyState === ‘loading’) {
iframeWindow.addEventListener(‘load’, onFinish)
} else {
onFinish()
}
}

async function fetchURL(url) {
magic.addEventListener(‘load’, resizeIframe)

const call = await fetch(`https://proxy.devrel.workers.dev?domain=${url}`)
const text = await call.text()
const divie = document.createElement(“div”)
divie.innerHTML = text
const listie = divie.getElementsByTagName(“a”)
for (var i = 0; i < listie.length; i++) {
listie[i].setAttribute("target", "_blank")
}
magic.scrolling = "no"
magic.srcdoc = divie.innerHTML
}
fetchURL("https://info.cloudflare.com/index.php/email/emailWebview?mkt_tok=eyJpIjoiTkdNeE5UVTFZemsxWkRZeSIsInQiOiJEV2VPUnFYSXAyK1VIb2puNnRTeWltckNqV2l0QWNrL3lOZCtydTVQZlZjVjJxcTlUcW1oaG5vSkM5MlVnZFhpT3AwbExMWFB5blMzbUdiUFFQd0trQmpxSjJmdjdKWTVkTFBkUWJtQnJJRkdxbzNuT3BaNEd4c25iKzRDU01hVCJ9")




Source link