working pipeline

This commit is contained in:
sparshg
2024-09-26 01:38:12 +05:30
parent 3e5fdf4615
commit e49e5e086b
6 changed files with 35 additions and 20 deletions

View File

@@ -10,6 +10,9 @@ jobs:
docker: docker:
runs-on: ubuntu-latest runs-on: ubuntu-latest
environment: battleship environment: battleship
permissions:
id-token: write
contents: read
steps: steps:
- -
name: Login to Docker Hub name: Login to Docker Hub
@@ -28,13 +31,7 @@ jobs:
tags: ${{ secrets.DOCKER_IMAGE_PATH }}:${{ github.sha }} tags: ${{ secrets.DOCKER_IMAGE_PATH }}:${{ github.sha }}
cache-from: type=registry,ref=${{ secrets.DOCKER_IMAGE_PATH }}:buildcache cache-from: type=registry,ref=${{ secrets.DOCKER_IMAGE_PATH }}:buildcache
cache-to: type=registry,ref=${{ secrets.DOCKER_IMAGE_PATH }}:buildcache,mode=max cache-to: type=registry,ref=${{ secrets.DOCKER_IMAGE_PATH }}:buildcache,mode=max
azure:
runs-on: ubuntu-latest
environment: battleship
permissions:
id-token: write
contents: read
steps:
- -
name: Azure login name: Azure login
uses: azure/login@v2 uses: azure/login@v2

View File

@@ -2,8 +2,10 @@ name: Deploy
on: on:
push: push:
branches: [ "main" ] tags:
- v**
workflow_dispatch:
jobs: jobs:
build_site: build_site:
runs-on: ubuntu-latest runs-on: ubuntu-latest

View File

@@ -11,14 +11,30 @@ env:
SQLX_OFFLINE: true SQLX_OFFLINE: true
jobs: jobs:
build: backend:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
- name: Check - name: cargo-check
run: cargo check run: cargo check
- name: Clippy - name: cargo-Clippy
run: cargo clippy run: cargo clippy
- name: Format - name: cargo-fmt
run: cargo fmt --all --check run: cargo fmt --all --check
frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
cache-dependency-path: 'app/package-lock.json'
- name: Install dependencies
working-directory: app
run: npm install
- name: lint
working-directory: app
run: npm run lint

View File

@@ -8,7 +8,7 @@
"preview": "vite preview", "preview": "vite preview",
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
"lint": "prettier --check . && eslint .", "lint": "eslint .",
"format": "prettier --write ." "format": "prettier --write ."
}, },
"devDependencies": { "devDependencies": {
@@ -38,4 +38,4 @@
"lucide-svelte": "^0.441.0", "lucide-svelte": "^0.441.0",
"socket.io-client": "^4.7.5" "socket.io-client": "^4.7.5"
} }
} }

View File

@@ -38,7 +38,7 @@ export class State {
}); });
this.socket.on('attacked', ({ by, at, hit, sunk }) => { this.socket.on('attacked', ({ by, at, hit, sunk }) => {
const [i, j]: [number, number] = at; const [i, j]: [number, number] = at;
let board = by == this.socket.id ? this.opponentBoard : this.playerBoard; const board = by == this.socket.id ? this.opponentBoard : this.playerBoard;
if (by == this.socket.id) { if (by == this.socket.id) {
this.turn = (hit) ? 1 : -1; this.turn = (hit) ? 1 : -1;
} else { } else {
@@ -46,7 +46,7 @@ export class State {
} }
if (hit) { if (hit) {
board.board[i][j] = 'h'; board.board[i][j] = 'h';
for (let [x, y] of [[-1, -1], [1, 1], [1, -1], [-1, 1]]) { for (const [x, y] of [[-1, -1], [1, 1], [1, -1], [-1, 1]]) {
const [tx, ty] = [i + x, j + y]; const [tx, ty] = [i + x, j + y];
if (tx < 0 || tx >= 10 || ty < 0 || ty >= 10) continue; if (tx < 0 || tx >= 10 || ty < 0 || ty >= 10) continue;
if (board.board[tx][ty] == 'e') if (board.board[tx][ty] == 'e')
@@ -132,7 +132,7 @@ export class Board {
isOverlapping(x: number, y: number, length: number, dir: number): boolean { isOverlapping(x: number, y: number, length: number, dir: number): boolean {
for (let i = -1; i < 2; i++) { for (let i = -1; i < 2; i++) {
for (let j = -1; j < length + 1; j++) { for (let j = -1; j < length + 1; j++) {
let [tx, ty] = [x + (dir ? i : j), y + (dir ? j : i)]; const [tx, ty] = [x + (dir ? i : j), y + (dir ? j : i)];
if (tx < 0 || tx >= 10 || ty < 0 || ty >= 10) continue; if (tx < 0 || tx >= 10 || ty < 0 || ty >= 10) continue;
if (this.board[tx][ty] != 'e') return true; if (this.board[tx][ty] != 'e') return true;
} }

View File

@@ -5,7 +5,7 @@ export default {
extend: {}, extend: {},
}, },
plugins: [ plugins: [
require('daisyui'), require('daisyui'), // eslint-disable-line
], ],
daisyui: { daisyui: {