Skip to content

Commit

Permalink
Updated build
Browse files Browse the repository at this point in the history
  • Loading branch information
changesbyjames committed Nov 12, 2024
1 parent a00a075 commit c2092c2
Show file tree
Hide file tree
Showing 5 changed files with 101 additions and 185 deletions.
144 changes: 72 additions & 72 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,75 +82,75 @@ jobs:
name: ui-build
path: app/dist

deploy:
name: deploy to production
runs-on: ubuntu-22.04
needs:
- build_census_ui
- build_census_api

permissions:
id-token: write

environment: production
steps:
- name: Checkout repository
uses: actions/checkout@v4

- uses: actions/download-artifact@v4
with:
name: ui-build
path: ui

- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 9
run_install: false

- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'pnpm'

- name: Install dependencies
run: pnpm i

- uses: pulumi/auth-actions@v1
with:
organization: alveusgg
requested-token-type: urn:pulumi:token-type:access_token:personal
scope: user:changesbyjames

- name: Azure CLI Login
uses: azure/login@v2
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

- uses: pulumi/actions@v5
id: pulumi
with:
command: up
stack-name: alveusgg/prod
work-dir: infrastructure/pulumi
config-map: |
{
"api-image": { value: "${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:main-${{ github.run_id }}-census-api", secret: false },
}
env:
ARM_USE_OIDC: true
ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}

- name: az cli copy
uses: azure/CLI@v2
with:
azcliversion: 2.53.0
inlineScript: |
az config set extension.use_dynamic_install=yes_without_prompt
az storage azcopy blob upload --container \$web --source "./ui/*" --account-name ${{ steps.pulumi.outputs.accountName }} --recursive
az cdn endpoint purge --resource-group ${{ steps.pulumi.outputs.resourceGroupName }} --name ${{ steps.pulumi.outputs.endpointName }} --profile-name ${{ steps.pulumi.outputs.profileName }} --content-paths "/*"
# deploy:
# name: deploy to production
# runs-on: ubuntu-22.04
# needs:
# - build_census_ui
# - build_census_api

# permissions:
# id-token: write

# environment: production
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4

# - uses: actions/download-artifact@v4
# with:
# name: ui-build
# path: ui

# - uses: pnpm/action-setup@v4
# name: Install pnpm
# with:
# version: 9
# run_install: false

# - name: Install Node.js
# uses: actions/setup-node@v4
# with:
# node-version: 22
# cache: 'pnpm'

# - name: Install dependencies
# run: pnpm i

# - uses: pulumi/auth-actions@v1
# with:
# organization: alveusgg
# requested-token-type: urn:pulumi:token-type:access_token:personal
# scope: user:changesbyjames

# - name: Azure CLI Login
# uses: azure/login@v2
# with:
# client-id: ${{ secrets.AZURE_CLIENT_ID }}
# tenant-id: ${{ secrets.AZURE_TENANT_ID }}
# subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

# - uses: pulumi/actions@v5
# id: pulumi
# with:
# command: up
# stack-name: alveusgg/prod
# work-dir: infrastructure/pulumi
# config-map: |
# {
# "api-image": { value: "${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:main-${{ github.run_id }}-census-api", secret: false },
# }
# env:
# ARM_USE_OIDC: true
# ARM_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
# ARM_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
# ARM_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}

# - name: az cli copy
# uses: azure/CLI@v2
# with:
# azcliversion: 2.53.0
# inlineScript: |
# az config set extension.use_dynamic_install=yes_without_prompt
# az storage azcopy blob upload --container \$web --source "./ui/*" --account-name ${{ steps.pulumi.outputs.accountName }} --recursive
# az cdn endpoint purge --resource-group ${{ steps.pulumi.outputs.resourceGroupName }} --name ${{ steps.pulumi.outputs.endpointName }} --profile-name ${{ steps.pulumi.outputs.profileName }} --content-paths "/*"
2 changes: 1 addition & 1 deletion census/api/src/api/identification.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default router({
comment: z.string().optional()
})
)
.mutation(async ({ input, ctx }) => {
.mutation(async ({ ctx }) => {
const user = useUser();
const points = await recordAchievement('vote', user.id);
if (points) ctx.points(points);
Expand Down
5 changes: 0 additions & 5 deletions census/api/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { createContext } from './trpc/context.js';
// NOT the router itself.
export type AppRouter = typeof router;

import { getEncodedTimestamp } from './services/twitch/index.js';
import { createEnvironment, withEnvironment } from './utils/env/env.js';

(async () => {
Expand All @@ -33,10 +32,6 @@ import { createEnvironment, withEnvironment } from './utils/env/env.js';
} satisfies FastifyTRPCPluginOptions<AppRouter>['trpcOptions']
});
server.listen({ port: Number(process.env.PORT), host: process.env.HOST }, async (err, address) => {
const pixels = await getEncodedTimestamp(
'https://static-cdn.jtvnw.net/twitch-clips-thumbnails-prod/OilyClumsyLorisLitFam-UhVlgBoVRPDlk1X1/0339a75a-4829-4242-8e36-dcd08f2f4793/preview.jpg'
);
console.log(pixels);
if (err) {
console.error(err);
process.exit(1);
Expand Down
103 changes: 1 addition & 102 deletions census/website/src/pages/admin/Status.tsx
Original file line number Diff line number Diff line change
@@ -1,106 +1,5 @@
import { Link } from '@/components/controls/button/paper';
import { MenuItem } from '@/components/menu/Menu';
import { Clipboard } from '@/layouts/Clipboard';
import { useAPI } from '@/services/query/hooks';
import { useVariable } from '@alveusgg/backstage';
import { useSuspenseQuery } from '@tanstack/react-query';
import { FC } from 'react';

export const Status: FC = () => {
const api = useAPI();
const apiBaseUrl = useVariable('apiBaseUrl');
const response = useSuspenseQuery({
queryKey: ['status'],
queryFn: () => {
return api.chat.status.query();
}
});

return (
<div className="flex flex-col w-full bg-accent-100 gap-5 p-12 overflow-y-scroll">
<nav className="w-full mx-auto max-w-3xl py-2 border-b-2 border-dotted border-accent-800 border-opacity-20">
<h2 className="text-3xl font-bold text-accent-800">Critters & Plants</h2>
</nav>
<Clipboard
container={{
initial: {
y: 20,
scale: 1.03
},
animate: {
y: 0,
scale: 1
}
}}
className="pt-24 px-6 @lg:px-12 pb-12 text-accent-800"
>
<h2 className="text-2xl font-bold p-2">Status</h2>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<p className="p-2">
Cursus volutpat molestie lectus odio. Condimentum facilisis vestibulum arcu nascetur. Quam duis ut justo
adipiscing. Felis justo iaculis dignissim hendrerit vitae eu sodales ultrices dolor. Lectus euismod sodales
enim lacus placerat purus vestibulum.
</p>
<MenuItem>
<Link target="_blank" to={`${apiBaseUrl}/admin/signin`}>
Sign in as chat account
</Link>
</MenuItem>
</Clipboard>
</div>
);
return <div></div>;
};
32 changes: 27 additions & 5 deletions census/website/src/pages/observations/Observations.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { useSuggestIdentification } from '@/services/api/identifications';
import { useObservations } from '@/services/api/observations';
import { Slot } from '@radix-ui/react-slot';
import { format } from 'date-fns';
import { ComponentProps, FC, PropsWithChildren, useCallback } from 'react';
import { ComponentProps, FC, PropsWithChildren, useCallback, useEffect, useState } from 'react';
import { useInView } from 'react-intersection-observer';
import { GalleryProvider, Slide } from './gallery/GalleryProvider';
import { useGallery } from './gallery/hooks';
Expand Down Expand Up @@ -105,13 +105,28 @@ export const Observations = () => {
<Polaroid>
<Preloader>
{observation.images.map(image => (
<Square key={image.id} src={image.url} options={{ extract: image.boundingBox }} />
<Square
key={image.id}
src={image.url}
options={{ extract: image.boundingBox, width: 50, height: 50 }}
/>
))}
</Preloader>
{observation.images.map(image => (
<Slide key={image.id} id={image.id.toString()}>
<img src={image.url} className="hidden" />
<Square className="w-full h-full" src={image.url} options={{ extract: image.boundingBox }} />
<div className="w-full h-full overflow-clip relative">
<Square
loading="lazy"
className="absolute inset-0 w-full h-full z-10"
src={image.url}
options={{ extract: image.boundingBox }}
/>
<Square
className="absolute inset-0 w-full h-full blur-2xl"
src={image.url}
options={{ extract: image.boundingBox, width: 50, height: 50 }}
/>
</div>
</Slide>
))}
</Polaroid>
Expand Down Expand Up @@ -206,9 +221,16 @@ export const Observations = () => {

export const Preloader: FC<PropsWithChildren> = ({ children }) => {
const [ref, inView] = useInView();
const [hasLoaded, setHasLoaded] = useState(false);

useEffect(() => {
if (hasLoaded) return;
if (inView) setHasLoaded(true);
}, [inView, hasLoaded]);

return (
<div ref={ref} className="w-0 h-0">
{inView && children}
{hasLoaded && children}
</div>
);
};

0 comments on commit c2092c2

Please sign in to comment.