diff --git a/FrontEnd/styles/supporters.scss b/FrontEnd/styles/supporters.scss index bd62b8593..0f74d8658 100644 --- a/FrontEnd/styles/supporters.scss +++ b/FrontEnd/styles/supporters.scss @@ -23,25 +23,23 @@ section { ul { - display: grid; + display: flex; + flex-wrap: wrap; + gap: 30px 70px; + justify-content: center; margin: 60px 0; padding: 0; li { - display: flex; list-style: none; > a { display: flex; align-items: center; } - } - - @media screen and (max-width: $mobile-breakpoint) { - gap: 20px; - li { - justify-content: center; + @media screen and (max-width: $mobile-breakpoint) { + width: 100%; } } } @@ -57,32 +55,13 @@ } } - &.corporate, - &.infrastructure { - ul { - grid-template-columns: 1fr 1fr; - - li { - justify-content: center; - } - - &.solo { - grid-template-columns: 1fr; - } - } - - @media screen and (max-width: $mobile-breakpoint) { - ul { - grid-template-columns: 1fr; - } - } - } - &.community { ul { - grid-template-columns: 1fr 1fr 1fr; + justify-content: flex-start; + + > li { + width: calc(100% / 3 - 70px); - li { a:not(:hover) { color: var(--page-text); } @@ -100,6 +79,8 @@ } @media screen and (max-width: $mobile-breakpoint) { + width: 50%; + img { margin: 0; } @@ -117,12 +98,6 @@ } } } - - @media screen and (max-width: $mobile-breakpoint) { - ul { - grid-template-columns: 1fr 1fr; - } - } } } diff --git a/Public/images/blog/swift-package-index-and-aws-logos.png b/Public/images/blog/swift-package-index-and-aws-logos.png new file mode 100644 index 000000000..59c86c801 Binary files /dev/null and b/Public/images/blog/swift-package-index-and-aws-logos.png differ diff --git a/Public/images/sponsors/aws.png b/Public/images/sponsors/aws.png new file mode 100644 index 000000000..5fa40ff23 Binary files /dev/null and b/Public/images/sponsors/aws.png differ diff --git a/Public/images/sponsors/aws~dark.png b/Public/images/sponsors/aws~dark.png new file mode 100644 index 000000000..d17203761 Binary files /dev/null and b/Public/images/sponsors/aws~dark.png differ diff --git a/Public/images/sponsors/contextsdk.png b/Public/images/sponsors/contextsdk.png new file mode 100644 index 000000000..2ddcaf94a Binary files /dev/null and b/Public/images/sponsors/contextsdk.png differ diff --git a/Public/images/sponsors/contextsdk.svg b/Public/images/sponsors/contextsdk.svg deleted file mode 100644 index c3e521b41..000000000 --- a/Public/images/sponsors/contextsdk.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Public/images/sponsors/contextsdk~dark.png b/Public/images/sponsors/contextsdk~dark.png new file mode 100644 index 000000000..1aaf4e018 Binary files /dev/null and b/Public/images/sponsors/contextsdk~dark.png differ diff --git a/Public/images/sponsors/contextsdk~dark.svg b/Public/images/sponsors/contextsdk~dark.svg deleted file mode 100644 index ab570d33c..000000000 --- a/Public/images/sponsors/contextsdk~dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Public/images/sponsors/emerge-tools.png b/Public/images/sponsors/emerge-tools.png deleted file mode 100644 index d67dde9fc..000000000 Binary files a/Public/images/sponsors/emerge-tools.png and /dev/null differ diff --git a/Public/images/sponsors/emerge-tools~dark.png b/Public/images/sponsors/emerge-tools~dark.png deleted file mode 100644 index 1878f6101..000000000 Binary files a/Public/images/sponsors/emerge-tools~dark.png and /dev/null differ diff --git a/Public/images/sponsors/emerge.png b/Public/images/sponsors/emerge.png new file mode 100644 index 000000000..32904196e Binary files /dev/null and b/Public/images/sponsors/emerge.png differ diff --git a/Public/images/sponsors/emerge~dark.png b/Public/images/sponsors/emerge~dark.png new file mode 100644 index 000000000..ddc878c9c Binary files /dev/null and b/Public/images/sponsors/emerge~dark.png differ diff --git a/Public/images/sponsors/macstadium.png b/Public/images/sponsors/macstadium.png index 6c6d189ba..20bffd4dc 100644 Binary files a/Public/images/sponsors/macstadium.png and b/Public/images/sponsors/macstadium.png differ diff --git a/Public/images/sponsors/macstadium~dark.png b/Public/images/sponsors/macstadium~dark.png index e899ab764..c89ca438d 100644 Binary files a/Public/images/sponsors/macstadium~dark.png and b/Public/images/sponsors/macstadium~dark.png differ diff --git a/Public/images/sponsors/microsoft.png b/Public/images/sponsors/microsoft.png index 09d1a9fc4..5d49428ba 100644 Binary files a/Public/images/sponsors/microsoft.png and b/Public/images/sponsors/microsoft.png differ diff --git a/Public/images/sponsors/microsoft~dark.png b/Public/images/sponsors/microsoft~dark.png index 6372b9485..58b7f6054 100644 Binary files a/Public/images/sponsors/microsoft~dark.png and b/Public/images/sponsors/microsoft~dark.png differ diff --git a/Resources/Blog/Posts/welcoming-amazon-as-an-infrastructure-supporter.md b/Resources/Blog/Posts/welcoming-amazon-as-an-infrastructure-supporter.md new file mode 100644 index 000000000..f5f18e860 --- /dev/null +++ b/Resources/Blog/Posts/welcoming-amazon-as-an-infrastructure-supporter.md @@ -0,0 +1,15 @@ +![The Swift Package Index logo next to the Amazon logo](/images/blog/swift-package-index-and-aws-logos.png) + +It may surprise you to learn how much hosting infrastructure a site like the Swift Package Index needs. + +We obviously need a web server, or actually a few web servers, as we want redundancy so the site is never down for you, even when we do maintenance. Of course, we also need a redundant database to store all that metadata. We also need a staging site so we can test changes before they go live. There’s no point in having a redundant hosting plan if you push changes into production that completely break the site! + +Then there’s our “build system” that powers all the compatibility information. That system consists of 10 very powerful machines that crunch through more than 500,000 Swift builds during a busy month. Those machines also build all the documentation that we host for almost 1,000 packages. + +The build machines also generate hundreds of thousands of build logs per month and millions of documentation files that need hundreds of gigabytes of storage. We have been using [Amazon Web Services (AWS)](https://aws.amazon.com/) for this storage so far, but our costs were starting to rise as we hosted more and more documentation. + +Which is why we’re delighted to announce today that AWS is [joining our set of infrastructure sponsors](/supporters) by donating credits to the project. We’ll use these credits to continue to host the logs and documentation that you use every day. + +We want to say a huge thank you to every one of our infrastructure sponsors for keeping this site hosted and processing. We could not do what we do without their support. + +We’d also love to [thank all our supporters](/supporters) who keep this project running as smoothly as it does. Your support is invaluable. diff --git a/Resources/Blog/posts.yml b/Resources/Blog/posts.yml index 556a46cfc..bc9bde7d7 100644 --- a/Resources/Blog/posts.yml +++ b/Resources/Blog/posts.yml @@ -188,3 +188,8 @@ summary: We recently transitioned our Mac build machines that power our compatibility and documentation build system from a manually configured and maintained collection of Mac mini machines to a new Orka cluster from MacStadium. It provides complete isolation for builds, and a more efficient use of our build machines. published_at: 2024-07-08 published: true +- slug: welcoming-amazon-as-an-infrastructure-supporter + title: Welcoming Amazon as an infrastructure supporter + summary: We are thrilled to announce that Amazon is joining Apple as a supporter of the Swift Package Index by providing infrastructure support. + published_at: 2024-10-28 + published: true diff --git a/Sources/App/Core/Supporters.swift b/Sources/App/Core/Supporters.swift index da7aa5ccf..7caa4e17e 100644 --- a/Sources/App/Core/Supporters.swift +++ b/Sources/App/Core/Supporters.swift @@ -21,13 +21,13 @@ enum Supporters { nonisolated(unsafe) static var corporate: [Corporate] = [ .init(name: "Emerge Tools", - logo: .init(lightModeUrl: "/images/sponsors/emerge-tools.png", - darkModeUrl: "/images/sponsors/emerge-tools~dark.png"), + logo: .init(lightModeUrl: "/images/sponsors/emerge.png", + darkModeUrl: "/images/sponsors/emerge~dark.png"), url: "https://www.emergetools.com/?utm_source=spi2&utm_medium=sponsor&utm_campaign=emerge", advertisingCopy: "Join the future of mobile development. Trusted by top companies like Duolingo, Square, DoorDash & more…"), .init(name: "ContextSDK", - logo: .init(lightModeUrl: "/images/sponsors/contextsdk.svg", - darkModeUrl: "/images/sponsors/contextsdk~dark.svg"), + logo: .init(lightModeUrl: "/images/sponsors/contextsdk.png", + darkModeUrl: "/images/sponsors/contextsdk~dark.png"), url: "https://contextsdk.com", advertisingCopy: "Intent detection with real-world context. Lean, lightweight and GDPR compliant out of the box."), ] @@ -40,7 +40,11 @@ enum Supporters { .init(name: "Microsoft Azure", logo: .init(lightModeUrl: "/images/sponsors/microsoft.png", darkModeUrl: "/images/sponsors/microsoft~dark.png"), - url: "https://azure.microsoft.com") + url: "https://azure.microsoft.com"), + .init(name: "Amazon Web Services (AWS)", + logo: .init(lightModeUrl: "/images/sponsors/aws.png", + darkModeUrl: "/images/sponsors/aws~dark.png"), + url: "https://aws.amazon.com/") ] nonisolated(unsafe) static var community: [Community] = .gitHubSponsors @@ -55,7 +59,7 @@ enum Supporters { var lightModeUrl: String var darkModeUrl: String var width: Int = 300 - var height: Int = 75 + var height: Int = 100 } } diff --git a/Sources/App/Views/Supporters/SupportersShow+Model.swift b/Sources/App/Views/Supporters/SupportersShow+Model.swift index 0f5f39c7d..31d3ec61d 100644 --- a/Sources/App/Views/Supporters/SupportersShow+Model.swift +++ b/Sources/App/Views/Supporters/SupportersShow+Model.swift @@ -53,7 +53,6 @@ enum SupportersShow { .class("corporate"), .h3("Corporate Supporters"), .ul( - .class("solo"), Supporters.primary.listNode ), .ul( diff --git a/Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_SupportersShow.1.html b/Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_SupportersShow.1.html index bec345807..b746e0066 100644 --- a/Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_SupportersShow.1.html +++ b/Tests/AppTests/__Snapshots__/WebpageSnapshotTests/test_SupportersShow.1.html @@ -106,7 +106,7 @@

Supporters


Corporate Supporters

-