Subversion Repositories Krakow BASIC

Rev

Rev 22 | Rev 24 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 nishi 1
# $Id$
10 nishi 2
 
14 nishi 3
name: "Build Krakow BASIC"
4
 
10 nishi 5
on:
6
  workflow_dispatch:
7
  push:
8
 
9
concurrency:
10
  group: "build"
11
  cancel-in-progress: true
12
 
13
jobs:
14
  build-c64:
15
    name: "Build for Commodore 64"
16
    runs-on: ubuntu-latest
15 nishi 17
 
10 nishi 18
    permissions:
19
      contents: write
20
 
21
    steps:
22
    - name: Checkout
23
      uses: actions/checkout@v4
24
    - name: Install packages
25
      run: sudo apt-get install cc65
26
    - name: Make sure it is clean
27
      run: make clean PLATFORM=c64
28
    - name: Make
29
      run: make PLATFORM=c64
30
    - name: Rename
31
      run: cp BASIC/krakow.80 krakow-c64.80
32
    - name: Upload artifact
33
      uses: actions/upload-artifact@v4
34
      with:
15 nishi 35
        name: build-c64
16 nishi 36
 
22 nishi 37
  build-a800xl:
38
    name: "Build for Atari 800 XL"
39
    runs-on: ubuntu-latest
40
 
41
    permissions:
42
      contents: write
43
 
44
    steps:
45
    - name: Checkout
46
      uses: actions/checkout@v4
47
    - name: Install packages
48
      run: sudo apt-get install cc65
49
    - name: Make sure it is clean
50
      run: make clean PLATFORM=a800xl
51
    - name: Make
52
      run: make PLATFORM=a800xl
53
    - name: Rename
54
      run: cp BASIC/krakow krakow-a800xl
55
    - name: Upload artifact
56
      uses: actions/upload-artifact@v4
57
      with:
58
        name: build-a800xl
59
        path: krakow-a800xl
60
 
23 nishi 61
  build-pet:
22 nishi 62
    name: "Build for Commodore PET"
63
    runs-on: ubuntu-latest
64
 
65
    permissions:
66
      contents: write
67
 
68
    steps:
69
    - name: Checkout
70
      uses: actions/checkout@v4
71
    - name: Install packages
72
      run: sudo apt-get install cc65
73
    - name: Make sure it is clean
74
      run: make clean PLATFORM=pet
75
    - name: Make
76
      run: make PLATFORM=pet
77
    - name: Rename
78
      run: cp BASIC/krakow.prg krakow-pet.prg
79
    - name: Upload artifact
80
      uses: actions/upload-artifact@v4
81
      with:
82
        name: build-pet
83
        path: krakow-pet.prg
84
 
19 nishi 85
  build-arduino:
86
    name: "Build for Arduino"
87
    runs-on: ubuntu-latest
88
 
89
    permissions:
90
      contents: write
91
 
92
    steps:
93
    - name: Checkout
94
      uses: actions/checkout@v4
95
    - name: Install packages
20 nishi 96
      run: sudo apt-get install gcc-avr avr-libc
19 nishi 97
    - name: Make sure it is clean
98
      run: make clean PLATFORM=arduino
99
    - name: Make
21 nishi 100
      run: make PLATFORM=arduino
19 nishi 101
    - name: Rename
102
      run: cp BASIC/krakow.hex krakow-arduino.hex
103
    - name: Upload artifact
104
      uses: actions/upload-artifact@v4
105
      with:
106
        name: build-arduino
107
        path: krakow-arduino.hex
108
 
16 nishi 109
  release:
110
    name: "Release"
111
    runs-on: ubuntu-latest
112
 
17 nishi 113
    permissions:
16 nishi 114
      contents: write
115
 
22 nishi 116
    needs: [build-c64, build-arduino, build-a800xl, build-pet]
16 nishi 117
 
118
    steps:
119
    - name: Checkout
120
      uses: actions/checkout@v4
121
    - name: Download from build-c64
122
      uses: actions/download-artifact@v4
123
      with:
124
        name: build-c64
22 nishi 125
    - name: Download from build-a800xl
126
      uses: actions/download-artifact@v4
127
      with:
128
        name: build-a800xl
129
    - name: Download from build-pet
130
      uses: actions/download-artifact@v4
131
      with:
132
        name: build-pet
19 nishi 133
    - name: Download from build-arduino
134
      uses: actions/download-artifact@v4
135
      with:
136
        name: build-arduino
18 nishi 137
    - name: Delete old release
138
      run: gh release delete "$(make get-version)" --cleanup-tag -y || true
139
      env:
140
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
141
    - name: Release
22 nishi 142
      run: gh release create -t "v$(make get-version)" "$(make get-version)" krakow-c64.80 krakow-arduino.hex krakow-a800xl krakow-pet.prg -n "Version \`$(make get-version)\` was build in this release"
18 nishi 143
      env:
144
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}