Skip to content

Instantly share code, notes, and snippets.

@ggeorgaras
ggeorgaras / README.md
Created May 17, 2023 20:29 — forked from palewire/README.md
How to push tagged Docker releases to Google Artifact Registry with a GitHub Action

How to push tagged Docker releases to Google Artifact Registry with a GitHub Action

Here's how I configured a GitHub Action so that a new version issued by GitHub's release interface will build a Dockerfile, tag it with the version number and upload it to Google Artifact Registry.

Before you attempt the steps below, you need the following:

  • A GitHub repository that contains a working Dockerfile
  • The Google Cloud SDK tool gcloud installed and authenticated

Create a Workload Identity Federation

@ggeorgaras
ggeorgaras / repo-reset.md
Created July 22, 2022 17:42 — forked from heiswayi/repo-reset.md
GitHub - Delete commits history with git commands

First Method

Deleting the .git folder may cause problems in our git repository. If we want to delete all of our commits history, but keep the code in its current state, try this:

# Check out to a temporary branch:
git checkout --orphan TEMP_BRANCH

# Add all the files:
git add -A
@ggeorgaras
ggeorgaras / countries.json
Created November 27, 2021 00:42 — forked from tiagodealmeida/countries.json
List of countries with country code, name, currency code, population, capital and continent name in JSON format
{
"countries": {
"country": [
{
"countryCode": "AD",
"countryName": "Andorra",
"currencyCode": "EUR",
"population": "84000",
"capital": "Andorra la Vella",
"continentName": "Europe"
@ggeorgaras
ggeorgaras / _storage.js
Created November 18, 2021 20:08 — forked from 1fabiopereira/_storage.js
Simple Asyncstorage wrapper react-native
import {AsyncStorage} from "react-native";
class Storage {
constructor (name) {
this.name = `@${name.toUpperCase()}`;
}
add (key, value) {
@ggeorgaras
ggeorgaras / Common-Currency.json
Created October 27, 2021 14:41 — forked from ksafranski/Common-Currency.json
Common Currency Codes in JSON
{
"USD": {
"symbol": "$",
"name": "US Dollar",
"symbol_native": "$",
"decimal_digits": 2,
"rounding": 0,
"code": "USD",
"name_plural": "US dollars"
},
@ggeorgaras
ggeorgaras / 000-HAproxy-Varnish-Apache-Wordpress-Letsencrypt
Created October 7, 2021 07:46 — forked from sys0dm1n/000-HAproxy-Varnish-Apache-Wordpress-Letsencrypt
HAproxy, Varnish and Apahce configuration files compatible for Wordpress with Apache webserver with Let's Encrypt
Configuration files to setup Wordpress with Apache2 webserver, Varnish caching server and HAproxy for loadbalancing with support for Lets Encrypt
@ggeorgaras
ggeorgaras / country_dial_info.json
Created May 20, 2021 14:18 — forked from mattwright/country_dial_info.json
A JSON dataset of entities containing country name, code, dial (phone) code and flag emoji icon.
[{"name":"Afghanistan","flag":"🇦🇫","code":"AF","dial_code":"+93"},{"name":"Åland Islands","flag":"🇦🇽","code":"AX","dial_code":"+358"},{"name":"Albania","flag":"🇦🇱","code":"AL","dial_code":"+355"},{"name":"Algeria","flag":"🇩🇿","code":"DZ","dial_code":"+213"},{"name":"American Samoa","flag":"🇦🇸","code":"AS","dial_code":"+1684"},{"name":"Andorra","flag":"🇦🇩","code":"AD","dial_code":"+376"},{"name":"Angola","flag":"🇦🇴","code":"AO","dial_code":"+244"},{"name":"Anguilla","flag":"🇦🇮","code":"AI","dial_code":"+1264"},{"name":"Antarctica","flag":"🇦🇶","code":"AQ","dial_code":"+672"},{"name":"Antigua and Barbuda","flag":"🇦🇬","code":"AG","dial_code":"+1268"},{"name":"Argentina","flag":"🇦🇷","code":"AR","dial_code":"+54"},{"name":"Armenia","flag":"🇦🇲","code":"AM","dial_code":"+374"},{"name":"Aruba","flag":"🇦🇼","code":"AW","dial_code":"+297"},{"name":"Australia","flag":"🇦🇺","code":"AU","dial_code":"+61"},{"name":"Austria","flag":"🇦🇹","code":"AT","dial_code":"+43"},{"name":"Azerbaijan","flag":"🇦🇿","code":"AZ","dial_code":"+9
@ggeorgaras
ggeorgaras / dynamic_component_rendering.md
Created April 19, 2021 00:09 — forked from mikeyamadeo/dynamic_component_rendering.md
Different approaches to dynamically rendering components with JSX

###Intro I wanted to use a facade pattern to provide a simple api for rendering job information in different forms using a Job component that received two props:

  • the job data
  • how to render the job
import React from 'react'
import Job from 'JobComponent'
@ggeorgaras
ggeorgaras / webpack-devserver.js
Created February 25, 2021 11:44 — forked from michaelrambeau/webpack-devserver.js
Script to launch webpack dev server (instead of using `webpack-dev-server --content-base www --hot` command).
// node.js server used to serve assets bundled by Webpack
// use `npm start` command to launch the server.
const webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');
const config = require('../../config/webpack.local.config');
console.log('Starting the dev web server...');
const port = 8080;
const path = require('path');
const options = {
import React from "react";
import useInput from "./hooks/useInput";
import "./TodoApp.css";
import useArray from "./hooks/useArray";
export default function TodoApp() {
const [todo, setTodo, resetTodo] = useInput("");
const todos = useArray([]);
const onSubmit = e => {